Skip to main content

Full text of "ZX Computing Magazine (January 1987)"

See other formats


'FYir 



I AN ARGUS SPECIALIST PUBLICATION 



FOR ALL SINCLAIR USERS 



VT7, 



fllm^u 



CREATE 

YOUR OWN . . . 

Adventure Landscapes 

Illuminated Text 

Technical Graphics 

SPECWORD: 

Type-in word processor 

for 48/128 Spectrum 



*_ 



MONSTER HITS! ■ Thanatos ■ Infiltrator ■ Avenger! 
Mil Rogue Trooper BMarble Madness ■ Cop-Out I 



pSSesidemit 







Throughout history, in times of anguish and need, 
there have arisen great leaders who have turned 
away the tides of defeat, deprivation and slavery They 
have secured nol only protection and prosperity for 
their peoples but also a place in the history of mankind. 
Dare yuu stand beside them? 
Measure yo j rse If against the evil forces of 
today -total war epidemic - starvation - poverty 
and prove that you have the power to be 

PRESIDENT 

BraenaeEigEiag aaaaoBBiBii^EiSE 




ddictire 



VT Addictive Games Ltd • 
10 Albert Road - Bournemouth 
Dorset BH1 1BZ ■ Tel: 0202 296404 



Designed and programmed by Kevin 
Toms, the creator of the all-time 
classic "FOOTBALL MANAGER" 



FEATURING: 

• Oil Exploration and Development 

• Battle Tactics and Defence Strategy 

• Politics- including Food Policy, Health. Economic 

Problems, Vote Winning Ploys etc. 

• Finance ■ Oil Sales. Gold Reserves, Exchange 

Rates.. .and of course Elections 

Now available on Amstrad and Spectrum. 

i □ President -Amstrad £9-95 each * 

I D President -Spectrum £895eacb • 

• Cheque/Postal Order/Access 

J Name 

t Address • 

I ■ 

» Tel. * 




ZX Computing Monthly ■ January 1987 



w 



^\Az*\\'*$ 



The Sound of Cheetah 



musical peripherals Colled Ihe MKS II Is a lull-: 
* polyphonic keyboard wild 61 kevsana pilch tx 
3 10 128 patches can be recalled Irom the cho 




Readership Survey 



orles also figure highly In 

I surprisingly Ihe machine 
IbymoslZXreadefslsthe 



Peter Booth. Mwteyi rJaCMiS 

Kempslon, T. F. Barber. Glasgow! 
I Turner. Hull. C J. Morrison, 
Edinburgh, Ernest Taylor. Cleve- 

Trivial Pursuit 
Winners 



sizeable cortiln- The ZX Trivial Pursi 
lers and 36% ot Is Robert Burgess 






n an olmosl 
fl adventurers, 



computer magazines 
grand prize ol a golc 

In addition, Robert 
copy ot Domarks --■-"' 



Destruction Test 



Konlx at* planning to test th 

joystick by attaching It to a specially designed machine Ih 

will manipulate II at high speed, non-stop, tor ai long as* 



and are offering a £100 
prize to the person whose guess Is closest. The eom| 
concsde that they have no Idea whether It will be days, 
week* or months before the joystick seizes up 

Those tempted to take a guess *hould submit their ei 
on a postcard giving their name, address and estlmo 
Daley Thompson* Decathlon Test, Konlx, do Solution Public 
Relation*, 1 Wellington^ Court, Vamdean Parti, Brij 
BN1 6TD. The closing date for entries I* 31*t January, IW. 




ZX Computing Monthly - January 19B7 



An Absorbing Shock 




herovylngtogetlntolrie machine guns Cosmic Shock 
big league wltn the likes otBal- Absorber is (he name of the 
and Superman. But It's apprentice Super hero in a 3D 



Apologies 



Deeply Struck 



irial ack-ack fire, enemy lighter* 
ht out as mell at lee It safely 

Ai the round groups ot barrage 

u mud balloon* and hill 



Well Brian . . . 



LL 



Although he hoinl laid It's 'a game of two halts" (yet) 

Brian Clough, the touch line philosopher, i* lending his 

name to a new computertboard game from CDS. The 

package, called Brian dough* Football Fortune* eonslsls 

of cassette, playing board, counter*, footboll player 

cards, Immunity card* and vast sum* of money for 

transfer deals II* a team manager game lor up lo five 

players and the object Is to lake your team lo the top of 

the game to your home costs a four-figure fee - £14. vl! 
Staylno in the football vein, Argus Pre** Software's 
Grcndslam label Is releasing Peter Shllton's Handball 
Maradona! A ID goalkeeplng simulation In which you 
must keep a clean theel in a variety of game situations. 
Handball Maradona coils £6.95. 

ZX Computing Monthly ■ January 1987 



im 



The House of Combat 

Melbourne House, as well a* releasing Flit II, the follow- 
up lo Way of the Exploding Fist, hove a number of olhei 

combat-based action game* in the pipeline 

Knuckiebustar* I* set In an urban nightmare future when 

criminals are Iraniformed into android slave*. One rebel 

and the aim ol the game I* to guide him through the si) 

zones of the city through horn ol kamikaze robot* to 

Judge Dread, the 2000 AD comic character will bo 
lighting the forces ol chao* In Mega City 1. The futuristic 

1™, ¥ .e.ii. n ii L_ . 1 ■ „,,,(; pr— . _ . 



larchlsts but when the long arm of the law has a gur 

>ol can fire heat-ieeklng bullets, the scale* of |ustlce 

may be lipped his way. 



may be tipped hli i 

jquel to Redtiawk will 



:woh! the sequel to Redtiawk will be continuing the 
->INng cartoon format ol the original In an adventure 
;h pits Redhawk against the sinister scientist Dr Lee 
huckiedusters and Judge Dndd will retail al £8.95. 
Redhawk cost* £7.95. 




Spectrum Games Top Ten 


1 | 1] Computer Hit* 3 


Beau Jolly 


J I 7] Trivial Pursuit 


Domark 


3 [ 4) Paper Boy 


Elite 


4 I 1} Infiltrator 


U.S. Sold 


5 ( ) Avenger 




4 ( ] The Sreot Escape 


Ocean 


7 ( ] Dandy 


Electric Dreams 


• ( | Five Star Same* 


Beau Jolly 


9 ( ) Trallblazer 




« ( J Tdrzan 


Marlech 


Chart supplied by W.H. Smith 


Trivial Pursuit continues to bounce around the chart*. A 


former number one, it dropped book to n 


umber seven last 


month, but 1* yet again challenging f 


r the top spot. 


Following up their success, Com ark have now released a 


Young Players' edition, £14.95, or If you 


already own the 


Genu* edition the Young Mayors' question pack eo*t* £7.95. 



Jewels ot 
Darkness 
Winners 



wich, Cecil Westercriolt. Ulrechl. 
Molhew Austin, Chesham, A. 
Hulmes, Allrlncham, K. E. Rankin, 



Up in the Clouds 



nolor bike simulation" as pari of his new g 
■or Coscode, called Sky Runner. 

er cam* from a couple ol 



ravounre movies, Mia ign, uuinit uiiu rviuiii w« fu 
led). The scene In Jedl where the flying motor cycles 
hurtling through Ihe trees was by tar the most exclil 
sequence. Thai was Ihe Inspiration for the action see 



Return ol tl 

ClOk — 

■ 



operation. 




Americana Winners 

TenZXreaderscarryoflaquIn- Allan Globs, Ipswich. Mark 

telol Americana lltles from US. Syder, Wlndle St. Helens, Jean 

■■■;■ are: M A Oalll, Pierre Clegg. London W1, Phillip 

London SWB Scott Jones, He5- Goodyear, Market Rosen, David 

ton, Melame Hughes. Aide-ley Brewster, Klrcaldy, S. Turner, Isle 

Edge. Ian Mocauley, Dudley, of Wight 




Wargames 



expansion ot Ihe Empire's 
territories. 
With Battlefield Germany we 
are pitched into 
contemporary limes with a 
confrontation based on a 
hypothetical offensive into 
Western Germany by 



* Pod fc 




New Keyboard for QL 

Scri on Keyboards, o new company, are mark, 
replaoemenl keyboard lor the QL Comprising ot two t 
keyboard and replaoemenl housing) II — '- 



distinguished b 

will remain compatible, althougli m 



Streetwise 



he first two releases on Domark's new arcade label. Streetwise, 
vup" Qrbli Ihe Terrorballls a spherical space ship 




ZX Computing Monthly ■ January 1987 



£29.95 H £24.95 H £10.95 lr£9.75 



i iii// / it/ 

■ |H53CEH| 



mu 




l\^lony of us enjoy programming 
but unless we hove an objective 

find thai we sit ot the computer 
and produce yel another 
variation of 'Mastermind' or 
some other program dinosaur 

ample of the worst 
kind ot spaghetti programming. 
Not very sollstylng. even It It 

The aim of this occasional 
series is to present a problem, 
perhaps a complete program or 
maybe a specific routine for you 
to apply your talents to and to 
discuss the possible solutions, 
their suitability, r"" ~ 



inte roc live section of the 
magazine where you will write 
to me and comment, criticise, 
otfer solutions and even suggest 

analysis ZXC has one ot the 
largest and most dedicated user 
bases ond we hope to offer you 



it worry that you may b 



that It may not be good e 
find It a sophisticated anc 

Means to an end 



problerr 



open to suggestioi 
begin with I propc 

1. Identity ot probti 

2. Break the task lr 



developments. 
Step 3 may also debate the 
suitability of 



Ray Elder introduces a 
new series In which ZX 
readers can pit their 

wits against 

challenging 
programming problems 

techniques andtor machln 
dependent techniques 

So without further ado It 
look at the problem which 



it they v. 






compete 

From this II seemed 
reasonable to me that they hod 
used the technique ot shifting 
letters along the alphabetic 
matrix by varying amounts, for 
example they might have used 

Notice the 'wrap round' ettec 
on y and Z, now, as we all 



> following general 
subject fo 



nttie 

correspond! nfj one beneath it 
SO HELLO becomes FCJJM. 
Given the task to decode 
-■- - message then the 
i or logical part of a 



likely tc 



e THE o 



AND, a single letter Is likely tc 
I or A and the most frequently 
used letter Is often E. However 
epends on the message 
being long enough to be able 
'" identify these clues and try 
m out. If the messoge Is very 



they make sense, so: 

1. Identify 

The program needs to accept 
coded words Input from the 
keyboard, perform each of the 
26 offset letler comparisons In 
trun, presenting the results to the 
operator tor f-~'- ■ 



Code Puzzle 

In a magazine that I infrequently 
purchase they ran a competition 

(he problem of decoding three 
messages which consisted ot 
groups of letters into sensible, 
meaningful words or phrases. If 



2. Breakdown 

O) INPUT words or phtase 

b) PROCESS each letter by 
adding [or subtracting) a 
constant value to if 

c) OUTPUT processed letters of 

(or printer] 

d) REPEAT sections b & c 26 
times with value of constant 
increased by 1 each time (26 
letters of alphabet] 



3. Possible ways 

Taking each section separately, 
first we have to decide the form 
In which we will type In the 
coded message, letter at a lime, 
a word or complete phrase. Also 
depending on this will be the 
means of storing it. a single 
string for the whole thing? 
dimensioned array perhaps for 

IT we use an array thi 






the 



nlnga single 
d of words? 



Probably the most simple 
means of entry would be to 
enter the lot, provided it wasn't 
excessively long, in a single 
string with single word entry 
being useful for short phrases 
ond single letter being 

Not forgetting that for both the 



ZX Computing Monthly ■ 



LIMA 



« m K w 



final options □ prompt a 

will be needed te 

ellher the number of letters c 
words to be entered. 

The method I chose was h 
enter Individual words into a 
preset array, however I knew 

with the Intention c 

program flexible I am leaning 

towards entering the whole 

ehrase In one go as being the 
est option. This will depend C" 
the method chosen lo process 




string 1 place le 
by LET c$=c$(2 TO )+cS(1) - 
then printing out the characiers 
In thot new string thai were 
obtained by the values of the 
word arrays. This used several 
FOfifNtXT loops and though If 
worked. It was very Inelegant. 

numeric control vorlable which 
Increased lay one each time, It 
could even be the loop counter, 
and odd It to the ASCII code of 
the letter, this could be restored 
In another variable or printed 
directly to the screen. 

With this latter method you 
would have to check lor spaces 
[if the phrase was entered as a 
complefe string) and the wrap 
round effect: le any code ever 
90 would have to have 26 token 

It may be possible to use the 
lacl that the address the 



ZX Computing Monthly ■ January 1987 



computer uses to find the 
character set Is given by system 
variable CHARS at 23606 and 
23607. Increasing 23606 by eight 
each time has the same effect 
as the last suggestion excepl It 
may be more difficult to allow 
lor the wrap effect. 

Finally the output, screen or 
printer? Should II wait for a 

of possible decoded letters has 
been produced or just pause tor 
o predetermined time? Should 



be Included, 

All this will depend on the 
srojected length of the code to 
— -nd possibly on 



processing was chosen, and 

t am aware that there mo- 
other, better ways of going 
about the task, but fhls was 
Intended lust to throw out sor 
ideas I hope you'll throw son 

4. Development 

So we get to fhe solution of o 

designing a system to encod 
messages in the first place, a 
relatively easy task. 



Would It be worth a routine to 
check that the words havent 
simply been reversed (as In 
Hewson's famous Selddab 
aliens)? 

H may be useful to Include an 
anagram or scramble routine. 

Could a program be 
developed to decode more 

Could the program Identify a 
possible solution on Its own 
without needing a human to sit 
and look at each offering? A 
Dictionary program such as a 
spelling checker would be 
useful tor this. Is there one on the 
market? Could you write one? 
how would the words be stored 
(Mlcrodrlves ol least!). 

Over to you 

I hope this gets the old grey 
matter working, 1 would be very 

programs to perform the set task 
[not Including any 
developments). My gash version 
was 23 lines long, if your 
program is equal lo or shorter 
than this then pop it in the post, 
in this case we will accept 
handwritten or printout ol your 
code without a cassette tape 
and the most elegant solution 
will be featured In a future Issue 
— with a suitable reward of 



ABCDEFGHIJKLMNOPQRSTUVWXYZ 
YZABCDEFGHIJKLMNOPQRSTUVWX 



I. Op 



H 



Y 



(SES53 




software getting harder 





_m & Am s trad 
available November 20th 
Commodore 64 
available January 20th 



IW 



Mi 



A programming duet to 
convert your Spectrum 
or QL Into a musical 
keyboard. Your 
conductor: David 
Nowotnlk. 



not only enjoyed playing 
"Santa's Dilemma", but got sc 
pleasure from hearing your 
computer play a Christmas 



5 the h 



ight, I thought 



get the tunes 

ly, AnrJ the listings 
appearing In " 

Both programs, one for 48K 
Spectrum and Spectrum Plus 
[fig. 1) and QL (lig. 2] allow your 
computer keyboard to be used 



as a muslcol keyboard, 
stretching |ust over one octave. 
The two programs work In much 
the same way, so a single 
description of how to use them 
shou la suffice So, once you 
have typed in the appropriate 
listing, SAVE and RUN It. 

Typing In the listings should 
be straight forward, apart, 
perhaps. Irom the graphics 
characters of line 730 In the 
Spectrum listing. Here, once you 
have entered 'LET aS=" ', press 
CAPS, and keep It pressed down 
while you press the following 
sequence ot keys: 
4.9>,9,3,9,5,9 

then close the quotes, and press 
ENTER. 



■ 
Z 

2 
4 



a. 

a. 

| 

i 

a 

i— 
O 




ZX Computing Monthly ■ January 1987 



LUU 




# fe ^ 



< 

a 
O 
O 

tx 

a. 
_i 


s 



ary 1987 I 



ZX Computing Monihlv 



January 1987 



£ 
S 
< 
a. 
O 
O 
a. 
a. 
—i 


i 



LIIIJ 








Flaun 1 




nine Maker — QL 




Listing 


:i" eHOKpILt B r.=tl... lo c B 


|sk e£Fbs" 


IS:""^?;""™"" 


IS ""Ss'HT !"' 


:'i'.:: S v:i p ""o 7 


IE III EiE 1 :":;;.. .,„ 


-7° CUR5DR .:li,''' 50 


ii :;! Bi^* t "" , '" a 


^ ^~^ Jt „- 


III -7I SxitItumE 1 


.;;;; ; r ^ ;',^ M 


^r 010 "' ~--'™» 


i| ssSs;;"-" 


lEgQ"" 


|i£±"' 


ii s?""S*ii:'f s'sr ""'° 




5 s- -"- 


"° ;^«"-thL em, „„, Jra 


§f|ip»"Hr" 


t§ jSrSr- 


III pm"i'.'* 1'. siv™ Kr ~~ 


is ,.:";"■ ••" ™"-" '"■"*■' 


™ B»i;;" m .„u , iS"" 


*» E«D E 5^'«ECOS""" " BB °" ™ E '° * 2 '" S 


600 If"^"*'" 1 ' 


:"o W„ PRDG.O.r. PLAYBACK Ib^in, .ndlngl 


t£ ™,^i" £^*r B 


11 if^ilrs:!™^™^- 






t« loc;?*,;"*;.;?." , " i:h -" e '' 


II ^hniHr^ 000 


1 ?^ri\ ' lf " ™ E " ,T ' 


l| giifp;'"""" """ """ ™" "" '""' 


1 *"p§ : 


lis :%IS;;;,-:-sk'i»::., 


| JS o 


'1: ■.r's:;":;"::.;"™" "•>•"'-'■■■ 


| .JiSff' k '""° 




| jyp; k 7 


||5|i:;~~- ■-- 


I"° Lnc;;"/" 011 """"" Pf,0L " SE 


|l 11^™:::,. 


I!" 'll ^lo H iH^*E.°T B D -.,U.._l= D = 


»W flT D ^",L_.t...„ [H . O, PB.MT ".- 



ZX Computing Monthlv ■ January 1987 



aiu 



RUNnlng the program. the firs 
thing you should see Is the molr 
menu giving seven options And 

able to appreciate all the 
facilities that the program 
provides; you can practise 
playing a tune, record It, play 
back lhat recording, save and 
load data, and edit that data. 

Black and white 

So. selecting option one gives 
you Ihe screen display shown In 
fig. 3 (on me OL; It's slightly 
different on the Spectrum). On 
the QL, the white 1 keys are 
played using the bottom row of 
alphabetic keys ('i' to 11. and 
'black' keys use the keys on the 
next row up I'd' lo 3, To achieve 
the same range, 'white' keys are 





ACT 


























1 z 






ki j b 


n j m 1 , 


- I / 1 



















E 
£ 
< 
a. 
O 
O 
a. 







£m ? 




practised a tune, 
elieve you are ready to 
I It. e»if from practise 
(press 0' on the Spectrum. 
the QL), and select option 
the main menu. Pressing 
Spectrum, p' on QL starts 
slops the recording s! 

- "*— result ot your 
ng. prer 



'a' to 'ENTER' _.._ 

to p' on the Spectrum. On r. 

computers, the screen display 

and their position on the 
musical keyboard. 

In practise mode, press the 
keys to play a tune Press only 
one at a time; un fortunately BEEP 
is only monophonlc! On the QL. 
you'll hear a continuous note 
every time you press o key. But 
on the Spectrum, the nole will 
be 'broken'. This difference Is 
because of the way both 
computers generate sound. On 
the Spectrum, It Is the main ISO 
processor which generates the 
BEER It cannot be doing this end 
checking to see It a key Is 

record modes) will be the 
computer switching bock and 
forth between generating sound, 
and checking Tor a keypress. On 
the QL. the moln processor 
hands the sound generation 

sound generation and keypress 
checks can be carried out at 
the same. Playback at sound 
Isn't limited In this way, so the 
music should sound smooth on 
both computersl 



facilities, you should eventually 
get your tune just right. If the 
process is taking a little longer 









Note 


BEEP v 


alue 


E 


24 




F 


22 




F# 


20 




G 


IS 




G# 


16 




ft 


15 




A* 


13 




B 


12 




C 


1 1 




C# 


10 




D 


9 




D# 


8 




E 


7 




F 


6 




F# 


5 




G 


4 





„, 


Itlne 




BOO 


DEFine PROCodure TUNE 




810 


RESTORE 327£7 




32'.' 


REPeat tune loop 




3:;. o 


POKE W 163886,0 




840 


READ a: IF a-255 THEN RETurn 




350 


READ li 




560 


IF a=0 THEN 




370 






BSO 


ELBE 




890 


BEEP 10000, a 




900 


END IF 




910 


REPeat delay 




920 


IF PEEK W (163BB6J>=b THEN EXIT 


elay 


9 30 


END REPeat delay 




940 


BEEP 




950 


END REPeat tune loop 




960 


END DEFine TUNE 





[or pause there Is a duration 
value, and a note value stored 
In sequence. The note value tor 
pause Is on the QL version, 
and 254 on the Spectrum. 
Otherwise, note values are the 
some as supplied to the BEEP 
command [so note values ore 

computers lor the same note). In 
editing, you may want to 
change a note value: in this 
case refer to the manual (page 
135) for changes to the Spectrum 
version, and to fig. 4c, where QL 
note values are listed. 

In edit mode, your tune Is 
broken down Into 'pages' of ten 
notes (and pauses). First, you are 
asked to select which page you 
want to work on. then vou are 
presented w 



than anticipated, you c 

tape (Spectrum version) 
mdv2. (QL), then re-loc 
using options '4' and '5' 



ot your own programs. Option 7' 

deals with this. On the QL 
version, the dato will be 
automatically fed into DATA lines 
and saved to mdv2_ under a 



i the appropriate 






s p' to play the sequence of 
s shown. 

n arrow (>1 appears beside 
first note This arrow shows 
the 'active' note for editing. 
u wont to move to another 
', press the up/down cursor 
IQL and Spectrum Plus) or 
n the Spectrum. To 



fig. 4b, you'll see a QL 
procedure called 'TUNE'. Us 
in your program; MERGE the 
tune DATA lines, so that, 
whenever the procedure TUNE 
colled, your masterpiece will t 
ployed. 

On the Spectrum version. tt> 
numbers which shoi 
the DATA lines are III 



ihis 



d go into 



the 



ZX printer. You'll then have to 
type In your own DATA lines (start 
at line number 1000) with Ihese 
numbers In sequence. Add them 
Spectrum tune 



X Computing Monthly ■ January 1 1 



WIN MARBLE 
MADNESS! 




Win Melbourne House's 
Marble Madness 
Construction Set but 
beware of losing your 
marbles in our brain 
teaser puzzle. 



to the Spectrum and olthou 
the game Itself could drive 
lo distraction there are 
additional opportunities to 
yourself crazy by devising y. 



Send your entries to Marble 
Madness Competition, ZX 
Computing Monthly. No 1 
Golden Square. London W1R 3AB. 

The competition Is open to all 
ZX readers except employees o< 
Argus Specialist Publications. 



to write yi. _ _ 

back of the envelope. 

The closing dote Is February 



r 



means you need never play thf 
same game twice and you car 
put together obstacle courses c 
simple or as complex as you 

Break the code 

Twenty-live copies ot Marble 
Madness construction set are u| 
lor grabs and to win you must 
solve the three code puzzles on 
the entry coupon ond decide 
which number comes next In th 



Marble Madness Competition 

What Is the ne«t number In the series? 

1) 0123402341034120? 

2] 412443014442101? 

3) 0401431240310? 



Nam 



Monthly, No 1 Golden Squar 



ZX Computing Monthly - Januory 1987 



2 
O 
O 



m 



Alan Davis unveils a 
versatile character 
designer and outlines 
the first step towards 
Illuminated text 
displays. 



II you have only a slight 
In the world of adventure 
. you could hardly have 



you play a well-written text 
adventure such as "Castle 
Blackstar". wltf 
descriptions and intric 
who needs pictures? 
Contrariwise, who wou 
want to play a version 



most diehard text purist must 
surely admit that a TV screen 
ol text isn'l the most attractive 
sight aroum ' ~ 
Spectrum character set 
extremely crude and St 
[Imagine reading a no> 

s printed using the Spectru 



ion!' II 



k ng 



Text-only" purist who i 

nhanced" games on 
md at the other exlre 
le philosophy that "a 
forth a thousand wor< 
a the (ewer words the 



lor all styles to rub along 

live in such a world. Ever since 

some remote mountain top. 
inscribed with the 
commandment "GRAPHIC 
ADVENTURES SELL BEST" on one 
Side and ANY OLD GRAPHICS 
WILL DO" on the other, we've 

development of the pure text 



would have u. 




Spectrum now spends a tair b 
ol time (and lots ot memory) 
displaying pretty dreadlul 



Text effects 

Now this Is □ great shame, 
because the potential of tl" 
pure tent adventure is tar Ir 
being played out. But ever 



.. __js lt?)Olc 

adventure authors use a 
redesigned character set tor lust 
this reason — though In a large 



time — about a couple ot years 
ago — an adventure appeared 
under the Games Workshop 

up a new venue (or the pure text 
game It was called "Tower o( 
Despair", and it was written (to 
the astonishment of all who saw 
It for the first time) with the Quill. 
11 was a pretty good adventure 

coptured everyone's imagination 
was Its presentation — which 
tried to produce the effect of 
script using a 



and a very beautiful 
I understand that It was 
successful commercially at 



e developed the 
int. (II you've 
s, perhaps you 



akins up his helm and 
shield, Arthur rode for mans- 

»dasjs through marshes, fields, 
and dales, until at lenatb be 
cane in sight of a range of 
dark mountains to the north- 

e called to a peasant 
tilling his fields, asking 
what sonder mountains night „ 
■be. "He call them CHE HALL OF 
THE world, ma Lord.", replied 
.the poor man. And what lies 
■hesond them wc know not- 

end so Arthur spurred his 
horse northward, in search 
of adventure. 

$0SIXV9O 

i i m a ■ n - - -— *•- — - * ^ ~ — 



umimtor 



ZX Computing Monthly - Januory 1987 



enough; if no one else Is going 
1o try It, we'd better do It 
ourselves! Alter all. so many 
adventures are designed around 
a fantasy world with a medieval 
or Anglo-Saxon flavour, that we 
could hardly find □ more 
appropriate kind of presentation 
lhan by simulating illuminated 

perhaps we can breathe a bit of 
life back Into the old text 
adventure yet? [Ot course the 
use of a display utility, even 
though we're starling with 
- '- -nind.) 






Ing the 

iputlng problems, I went In 

Ch of inspiration by looking 

;le. I spent some time poring 
Ihe Lindislarne Gospels. 



nlnated script ab 
■1. [You can s 



ii rati 



piogro 



r ol definite and realistic 
n design alms which car 
oe summarised as follows: 
1. Tower of Despolr was really a 
bit of a cheat; It had 1o be 
simply because ot the Quill's 
limitations. The effect of 



ordinary capital letter. Now we 
can do better lhan this because, 
free of the Quill's limialions. we 
can design large and detailed 
Initial letter shapes, store them in 

with a specially written machine 

2. The illuminated inllials should 
be large enough to produce 

their decorative ettect — but not 



aln body ot fekt. I settle 



s '6 p 



I:; [2 



squares] wide — so that 26 
capilal letters can be stored In a 
total ol 832 bytes (26 letters at 32 
bytes each). 

3. The machine code printing 
routine should be readily 
accessible from within a BASIC 
program so that once a BASIC 
string variable (zS) has been 
defined, the first letter is 
automolically printed as on 
Illuminated Capital [with an 
option to switch to "normal" 
copitals it required). The routine 
should then continue to print Ihe 

' rapping at 



he ends i 
I. The wo< 



rapping pro 



m 




Insert 
Clear 
SfiUE 
LORD 



*ftMCDEFGHX3KU1H0PQMSriIVWXY2< 
HabcdetfabirjklniTiop^rstuuwxszo— "o $» 



original manuscripts In the British 
Museum). From this experience I 
can confidently say that if you 
were hoping to copy THAT on 
your Spectrum, then forget It! It 



displayed without It 



screen within any such 

j Id be possible to alter 
PAPER, and BRIGHT 
is for Ihe capitals 

This design brief would result 
In a flexible utillfy which could 
be used from within a BASIC 
adventure program with a 
minimum amount of fuss. Once 
the Initial parameters are 
decided upon, such as width of 
decorated border and sizes of 
text windows, you can just get on 
with writing your game knowing 



end product falls a bit short 
the Lindislarne Gospels, it's 
nevertheless much more 
atmospheric and attractive than 
a typical screen from your 
average text adventure! 

Capitals 

Sounds promising? Then let's 
make a start. The first essential 
job is to design our 26 enlarged 

their 16x16 pixel squares, and 
store them as a series of bytes 
above RAMTOP. If you want to do 
this on graph paper, work out 
the numbers, and POKE them In 
yourself then fine. Off you go 
and we'll see you again in a 
yeor or two, perhaps We 

mere mortals are going to use 
the ILLUMINATOR program In 

couple of hours Instead! OK? 

Listing 1. by Ihe way. isn't just 
a utility for designing large 
decorated Initials — it can also 
do service as an ordinary 
character designer at the press 
of a key. Of course you may well 

program (or redesigning 

?ady, b- ' -'-' 



lapilals. it obviously 

facilities available together in 
single program (or both 
practical and aesthetic reasor 
To get a working copy of th( 
program, type in Listing 1 and 
save It so that It will auto-run 
e 1000. II suggest you 



It the REM 



is 635, 



ng 



640, and 1000 
microdrlve SAVE and LOAD 
commands (fast storage is 
great advantage when wo 
with this kind of utilify). If you re 
restricted to tape cassettes, you 
need to change these to the 
usual tape commands, of cour; 
— which just means omitting th 
" "flj " part In each case Note 
also that In line 52 It Is DOUBLE 






n the 



PRINT statements. The program 
Isn't of much interest in itself — us 

development tool. 

In addition to Listing 1. you'll 
also need a saved copy of the 
boring old Spectrum character 
set. To get one, just type in 
Listing 2 and then BUN. If you're 
working from tapes rather than 
drives, you'll need to change 
line 50. and then save the bytes 
immediately following the main 
program (Listing 1) so that they'll 
be loaded automatically [see 
line 1000). 

Once you have the program 
loaded In and running. It will 
Initially enter "CHARACTER 
DESIGNER" mode (Figure 1). If 
you press ENTER, If '" 
"ILLUMINATOR" mc 



ide (Figur 






d to change ft 



is at will 
at any lime. Key i den Ii II cations 

In both modes) but limited 
screen space requires these to 
be brief, and a little further 
explanation Is called tor. 
Movement of the little fleshing 
cursor around the grid Is 



ZX Computing Monthly ■ January 1987 



urn 



o 

z 

s 
s 
< 

O 

o 

a 
a. 

3 




srue 

LORD 
flbor ' 



flBCDEFGHUKLMKOPOBSCUVHXYZ 



your old character set bytes a 
64000; ana then restart with 
GOTO 1010], 



at Intervals To do this just press 
key Z and whizz the bright cursor 
along the row ot letters. As the 
cursor passes over each letter In 
turn, the appropriate illuminated 
version will obligingly present 
Itself in the smaM box tor 

Finally — perhaps (or new 
-eaders, or those who've never 
dined to try designing 
shapes betore — II 

(alls you. DONTGIVE 



1*11 



UPI 



rsor position. The results of 
jr artistic efforts will be shown 
their normal size In the little 
* below the main grid, and If 



Illuminated cursor 



and you can move It — ogoln 
using keys O, A, O, and P - to 
the letter or character you wanl 
the shape to represent. (Thr 



l-ir a 



.-.■■:;■: <i 



I" at tl 



d right edges to speed up 
me selection process]. Pressing 
SPACE will insert the new shape, 
and ENTER ollows you to quit if 
you change your mind. I! you 
want lo fiddle wilh an existing 
shape, you can transfer It to the 
grid by pressing key Z, and It's 
ing the 



bright c 



>r io if 






Once you've finished, yo 
save your shopes by pressing 
key S. Vou'll be asked to type □ 
single Identifying letter [say "a"| 

saved as either "chors-a" CODE 
64000.768 or "capitals:a" CODE 
62976.832, depending on which 



NOT save the other as well! You 

or capitals (to make additions oi 
alterations] using key L — and 
again you'll be asked to spectty 
an identifying letter. (It you 
already have □ library of 
character sets saved under 

modify one of those from within 
ILLUMINATOR, then BREAK; load lr 




ZX Computing Monthly ■ January I 1 



aiu 




ZX Computing Monthly ■ January 1987 



Steve Turner with a step 
by step guide to the 
creation of his soon to 
be released game 
Ranarama. 




ly ■ January 1987 



Intelligent meanles who are all 
properly placed In the 
dungeon. They must be able to 
move Irom room lo room oft 
screen and try Id find the player. 
They must enter and exll the 
current room properly, not just 
appear out of nowhere. 

I tell the above formula would 
enable me to use the Spectrum's 
colour and graphics potential to 
the full while leaving CPU time 
to run a fast game 



generator to build a 
d was really pleased 



rh.en 



e Spectrum's HAM. 
I used Ouazalron as a guide, 
reserving areas (or the size maps 
and graphics I rep' ' ■ "' 
found, like always, 

' d 24 types ' 




ZX Computing Monthly ■ 



aiu 



Reset spells s ( 

Reset 

Place 




Figure 3: Panorama Structure 



Mithly ■ Jonuary 1987 



am 



Horizontal shadow 




O 

8 

< 

z 
o 



o 

a 
a. 



ZX Computing Monlhlv ■ January 1987 



o 
2 

-i 
< 

Z 

o 

tft 
v> 

in 
u_ 

o 

a. 
a. 

26 



l/// 



no less than four c 
data la bypass on its way from 
keyboard to CPU, and what mess 
the back ot my machine wos 
already, with a tangle ot ribbon 
cables and a Beta disc 



n was ZBO code 



this 






s LD A.1. 
;r to pro 



no one could help, despite 
friendly support (torn Saga, and 
I finally gave In and sent the 
superb keyboard back. 

This sort of problem just shows 

unexpected. Whoever would 
eipect that CPU to misinterpret 
an Instruction. This problem 
solved, (see Figure 4) testing was 
underwoy again. 



At the time of writing the game 
has only been played by two 
people. In a lew days the local 
computer club will have a go at 

Perhaps these articles will 
have given you a greater Insight 
to the work thai goes Into a 
game. But most ot all I hope you 
have a really good zap. 




Professional 
improvisation 



1. Remove screw t 
edge of Spectrum 

2. Thoroughly ciei 



diagram. The piece a 
fits along the recess si 
Spectrum can still sit ( 



gently pushing each o 



r ' " ' 










%- Wire 

Screw removed 


D 1 ' 

o 


D 





ZX Computing Monthly ■ January 1987 




Timex/Tasword 






VIRIES 



z^M 



Help and advice on a 
variety of technical 
topics from Ray Elder. 

available commetci 
can be assemblec' ' 

s Ironies engines/ ll 



ie telephone socket, due 



to build o mock 



instead ol the Sinclair one 
Using C mode then key P shou 



EI 






would be interested to know It any 



totthe AMX mouse a 



ie by patching In 
rygratetultoranylnlor- 



El 



I tie B6C user port, perhaps it won't 
Anyway It could work or II could b 

o [relatively] simple Job or patching th 
■■■■■■ ■ ■ ■'-.:■, ;-.■ .■!■;...■ .1:- ■■ 



sws 




Tele|il...r 



O 

a. 



a 

5 



ZX Computing Monthly ■ 



SPECIVORD 

48/128 



< 

O 

o 

a. 
a. 

S 

3 

et 

S 



(Part 1) 

A menu driven word 
processor for both 48 
and 128 Spectrums by 
Stuart Nlcholls. 



home users. Over three parts 
Specword will build up into a 
word processing program with 
many advanced features. Rait 3 
contains a complete operating 



Specword 

ides, wordwrap, find 
unt, block 

del etel m ove'c o py/p r i n t, 



codes (30). 16K text 
lines only occupy 1 
space], lines of ANV lenglh from 
one character to the full text 
length, margins, thirty one 
setable TABS, supports both the 
ZX printer and most Centronics 
printers (with built in software for 
the Kempston interface] and 
RAM! file facilities for the 128K 

Sntering and Saving 
pecwora 

Specword 48H-J128K can be 
entered easily using the 
following procedure. 



jf the lines 
containing the Instructions for 
RAM FILE loading and saving 
etc le lines 2220. 2410. 3620. 651 
S> 6550. The program will work o 
their computers without these 
is the RAM FILE optioi 



2. SAVE the BASIC program using 
SAVE "WP48W128" 

3. Using the HEXLOADER/HEXDUMP 
dual purpose program (to be 
published In part 2] enter 

the mochlne code as HEXDUMP 



R TO RESET RAMTOP TO 
START ADDRESS 1 BEFORE 
RUNNING THIS HEXLOADER [le 
FNTER CLEAR 33S35 AS A 
DIRECT COMMAND FOR LIST 2). 

The last byte In each line Is 
the checksum byte, this being 
the sum of the previous 8 bytes 
modulo 256. The code should be 
entered one LINE at o time as a 
block of 18 characters [8 bytes +■ 
checksum] WITH NO SPACES 
BETWEEN THE CHARACTERS To end 
(he HEXLOADER program enter ZZ 
-' n byte. This 



after the 









the dump and a printout c 
number of bytes entered v 
given [allowing you to sav 



the 




ZX Computing Monthly ■ January 1987 



im 



The HEXLOADER program wil 
error trap ANY Incorrect line 
Inputs and prompt you io re- 
enter wrongly keyed in lines. 

4. SAVE this block ot code as 
"coder 1 CODE 33536.9407 

5. Using the same HEXLOADER 
enter the machine code as thi 
HEXDUMP LIST 3. 

6. SAVE (his block ot code as 
"code2" CODE 44800,2519 

7. When 



8. LOAD the BASIC program. 

9. LOAD the CODE code! 

10. LOAD the CODE code2 

11. FINALLY (It you have 
managed to get this tar wlthoul 
our lingers dropping of). SAVE 



12 Should any of the tunclior 



HEXLOADER/HEXDUMP dual 
purpose program. The HEXDUMP 
option will print out to the screen 




O 

z 

I 

S 
< 
a 
O 
O 
a. 



O 

LU 

a. 



ZX Computing Monthly ■ Jonuaiv 1987 



aw 




Books on C and Sir C In 
the return of the back 
page. 




Wilh Ihe popularity of 'C as Ihe 
favorite alternative to BASIC (or 
programming (see ZXC. August 

surprise that there have been 
several books published recently 
on ■C 1 . That prolific author. Ian 
Sinclair, Joins the crowd with his 
offering. 'C for Beginners' 

Sinclair's concept of □ 
beginner Is someone who knows 
a little BASIC, but now wants to 
try something else If that fits you, 
then this book can be highly 
recommended. 

The opening ol the book is 
fairly stondard; what are high 
and low level languages? — why 
do we need so many 
languages? — compilers and 

important difference between 
BASIC and 'C 1 , structured 
programming. 

After that, you get the 
fundamentals of C' carefully 



01 d ■ 






page 48 ol this boi 
226 pages to get the first vt 
nple 'C routine to try out. B 
1 that stage, the reader shoi 



From that point onwards. 

reader's knowledge; by the end 
anyone should (eel reasonably 
comfortable with the language, 
ready to proceed to a more 
advanced book. 

Routines In the book were 
written for the Hlsoft 'C compiler 
(or the Amstrad: these seem to 
work equally well on Hlsoft's 
Spectrum 'C compiler. 'C Is 
meant to be a portable 
language, so mosl machine/ 
compiler combinations should 
accept the fairly simple 
example routines given In the 
text. 

There are many comparisons 
made throughout fhe book to 
BASIC so the BASIC programmer 



I? IE A D 



(10.95 for this 
book for beglnne 
good buy. 

David Nowolnik 



ZX Computing Monthly ■ January 1987 




The authors Ion Adamson an: 
Richard Kennedy, hove varied 
and colourful Backgrounds 
including a few credits in the 
field of computer Journalism, 
Ihough noticeably not in fhe 
Sinclair field until now, at least 
according (o their given 
personal briefs. 

This very distance' from Ihe 
whole suBjecf probably stood 



approach would 

tend to limit Its oppeol to the 
more thoughtful Individual and 
In this category I would also put 
the established hobbyist [or 

occasionally labels us), ond 
perhaps the antl-Slnclalr 
brigade who seem to look lor 
any excuse fo put him down. 

The great majority of Sinclair 
users will probably not be 

found It a fascinating a - - 1 

Slauslole account of a 
Istory w" 



Sir Clive Sinclair through 
tinted glasses but by using 
reports and documented 
statements they have researched 
and produced what must be the 
definitive account ot ' 




UIU 



ever-changing landscapes of 

facility In their own adventure 
progroms. This graphics utility 
can go □ long way to granting 
that wish. II can hold the data 
lor a full screen, hi-res UluiTG'icn 
In only 30 bytes, so with It jn the 
top 32K ot memory you can 
generate any ot 1000 Illustrations 

this means that you could hve 
four view, looking north, south, 
east and west, ot each location 
on o 25 x 10 grid. The screen 
copies shown In fig. 1 Illustrate a 
range of the possible 
landscapes you could produce 

Landscapes 

It you ttave looked closely at 
Midnight's landscapes you will 

made up ot a number of picture 
elements (trees, mountains etc] 
drown to different s'~' ' 




■s the 5' 



operates In Basic, 
easier for most peopl 
handle look at Progr 
10-19 hold the graph I 
picture elements (let'; 
plcsubs). These indue 
moutalns. forest, hills, 
hedges, 



but 



drawn In two sizes; lines 10-19 tor 
distant views, and lines 20-29 for 
close views. Each can be 
PRINTed At o screen position v, h; 



ore more difficult to position. 
You're also not limited to five 
picsubs per landscape You 
could use as many as you Ilka 



;,{ ■■!,, ,, 



ient b 



e printed where 
slonal array LSD 
holds this Information In a series 
of strings each made up ot five 
groups of three, two-digit 
numbers The first pair In a triplet 



h time so remember 



per picture th 
pictures you c 

showed five fc 









the program line number where 


Assuming you're happy with my 


the picsubsubroutlne Is located. 


set-up type in Program 1 This Is 


The ) loop operates five times 


the one you'll need to 




Incorporate in your own 


which make up the completed 


adventure programs to run the 


landscape. Before these are 


utility. When you've typed it In 








Table A. This Is the machine 




code and UDG data. Delete lim 




1, then SAVE the program and 


the attributes with B, thus making 




the illustration appear as white 












method you could go off and 








and VERIFY One very important 








deleted line 1 the variables 








save bytes are now only held In 




the variables area. All program 
using this utility must therefore 


pSSHPiSSSr Efii but 





1 



□ ghastly thought may 



an Assembler/Editor to aid ihe 

Lai's leave the keying In of the 
Assembler 'til late and worry first 
about the design and layout ot 



You first n 









i this 



decide what Is where, and wh 
size lor each landscape The 
letters appearing in each 
quarter square symbolise the 
picsubs which are to appear. 
Table B gives a key lor these. 



Clyde Bish with a utility 
tor producing 
'Landscaped' graphics. 



(wher 



.t. you « 






ir right, and forest left, with 
jfher area ol forest in the right 
ind hills leading up to 
In Ihe lelt distance 
This is Ihe landscape shown in 
fig. 1 (a). It would be worth now 
trying lo work out what the views 
for the rest ol thai square, or 
other squares would be to get 
Ihe hang ol the system. What 
happens ot the edge of the 
map leg. square 1.T looking N. 
or W.) you must decide. You 
could surround your lands with 
impassable mountains, or simply 
have a no-go tealureless horizon. 

OK. so you think you know 
what each landscape is lo look 
like but it would help lo be able 



jradve ._._ 
like overall. By way ot example, 
lig. 2 gives o sample map fc- us 
to use It's only 3*3 locations — 

star! with Ihe lull 25 s 10 doesn't 
need my help! You will notice 

-- - subdivided 



-T- 

!Ca 



H L 



M , F 



H M 

fT 



F K 



C M 



HelMj 

Tm 



T H 



K , F H , 




make any necessary arllstlc 
adjustments. This Is where the 
Assembler/Editor comes In. LOAD 
In Program 1 if it's not already in 
Ihe machine and add lo It 
Program 2. SAVE it to LINE 9999 
plus the machine codefudg 
dala as before. 

When LOADed normally It will 

autostart al LINE 9999, then |ump 

rnu. but lor Ihe moment 

■tarl H With GOTO [not RUN!) 900. 



message after a tc 
perhaps. 

The Menu lists tl 







TABLE B 








Key to map 


nd picsub cod 






Code 






























F 


































Monolith 


L L ' 




S 




24 

25 












26 


























Castle 


Co 




V 




29 



IW 









TABLE C 






Gnd 




Picel 

2 


7 
8 


Column 

D 


Picel No. 
12 
22 




2 


5 

2 
3 


9 

12 

7 
8 


20 
17 




21 
21 
10 
22 
















3 


■1 
2 


7 
8 




25 
19 


21 
12 


















5 


1D 


24 


12 






2 
3 


8 

'6 


?r, 
26 
19 


12 
12 
22 








15 


15 


12 



view (If you only 



follow the LOADing prompts ( "" 
loads in the first array on the 
tape]. Alter the LOAD you will 
lump straight Into the assembk 
option at the next view to 



e continuing 

n unfinished landscape]. 



your landscape, and make 
minor alterations. The first view 
shown will be of grid 1,1 looking 



as 
O 

5 



5 
O 

a 

z 
< 



Emma 



21 PRINT AT v ,h; "RCRCfiCRC RC " ; h 
T v+i ,h; "TflCRCRCflCRC"; RT v + b,h;" 

f<Cf:.CfiCH£f>C T",RT " + c ,h : ■■ThChChlh 
CflC";PT v+d,h,"BT T T T T T";RT 

v+e,h;" eD6Dsc>e[>ery';fiT v-tb.hi ou 
ER a,-"l";flT v+e.h+i;" K": return 



TO j + c.< : GO SUB URL i 
URL i»ij+4! : NEXT j; 
S* 65C-.5I. INK 7: ftETI 



E i. ,i + b 



;RT 



;RT i 



__ PRINT RT v.... . 
+ 6,h; "HFFFFFFG": RETUI 

12 PRINT RT v,h, "L.O. 
,h*b, -f. I" ; RETURN 

13 PRINT RT v,h; "RC 
UER 1; " "jfiT V,h, " ." 

14 PRINT AT v,h; "OT 
"5T"j RT v + b,hi "RT-ifiT 
R a J "_" : RETURN 

15 PRINT hT v,h; "LU 
; "IUK" : RETURN 

16 PRINT RT v ,h; " 

,r,,"TTTTTT", RT V+b,Kl ' 

ETUPN 

17 FOP l=N0T PI TO I 
V + L,h; " I" : NEXT I : Ff 

.f,; "^ ": RETURN 

18 PRINT mT v,h; " « ' 
"A" : RETURN 

IS PRINT AT v,h+b, "! 
+ =. "-a.";i<T v + b,hj "8* 
,h; "R |-p";RT v+d ,h; "■ 



■ +d, ■■NO 1 '; hT v+a , 
>,h+=, "ff NOMNH" 

■ OHM-' . RETURN 



NHP P";AT ' 



;fiT « 



JBT 



I CL5 : INK 3: PRINT CS: FOR 
TO <P-11*6 5TEP 6: LET V =URL 
LET h=UfiL I" ' 



22 PRINT PT v,h 
■; "LK. IJLKIJ";RT v + e,n; "i 
■ IU";RT v+c,h;"LK IJLK 
W-HJih+Ci'-LK"; RETURN 
i PRINT RT v,h+d; "_ M J R' 

fl C";flT 



MP' 



;RT 



IP";flt v+d,h; OUER a;" hC_ 

RETURN 

24 PRINT RT Vjh+bJ" ";RT v 
:"NTO".RT W4b,h*a, "TTP' 1 , RT 
+a; "TT:T", RT v+d,h;"QQ T" 



RETURN 

UU '■;,« 



l.hj 31 Bill! Bis i 

RETURN 

£T CCINT rt v,h+a, "■";«" 
" BD " for i=t to : PRII 

♦ I. .1-,-ta. "H". NEXT L; PRINT 



ZX Computing Monthly - January 1987 



elude the fallowing. 



j I produced II 






To IT 

information page plus ihe siring 
in highlighted blocks. Rerhember 
Ihe sequence in each block Is 
row, column, then Ihe plcsub 
lhat von can Identity from Ihe 
deloils above Use Ihe letl/rlght 



•r you wish lo a 



first ni 

press SPACE. Ihen rr 
last digil lo alter am 
SPACE again. Now e 



Designer landscape 



e data 'or Ihe 






map. Enler these using opllor 
then, using my map (or your own 
version), you can work oul the 
design lor the remaining grid 
positions/views (Surely you didn't 
expect me to do all Ihe work!]. 
Remember you con use W In 
answer to Ihe "?" al the end ol a 
plcsub positioning move lo 
reposition It (or press a' lo start 
the whole view over again), then 
use oplion d lo wander through 



landscape. I can't do that 

incorporate it into your programs 
and call up the landscapes. 

Vou will need lo CLEAR 65530 
LOAD In Ihe original program 
plus code thai you SAVEd, then 
MERGE In your adventure 
program. Obviously your 
program must start alter line 29 
or you'll overwrite Ihe utility (Also 
don't be tempted to alter any ol 
Ihe routine's line numbers or the 
GOSUB in line 9 won't operate 
correctly] Before you make any 
call to "the Landscaper" 
subroutine (using GOSUB 9) you 
must set i to Ihe grid row of your 
map, k to the c ' 



1010 LET r = r + to = 3) - [o = 
1) : LET k = k + (0 = 2) - (a = 
4) : GOSUB 9: REM update 
row/column variables 

To turn (cursor pressed In rS): 
2010 LET = (1 AND rS = "7") + 
(2 AND r$ = "8") + (3 AND r$ = 
"6") +■ (4 AND r$ = "5"): GOSUB 
9: REM relate value In o to 
keypress 






3 Talisi 



want (1 = N ro 
1 = W). So lo display Ihe vi 
ooking west Irom Ihe top c 
grid square on our exampli 



...._ to 



Obviously you would SAVE the 
tlnol adventure to LINE 9999 so 
as to LOAD In the code 
automatically (which would be 
SAVEd after It on the tape). Vou 
musl also CLEAR 65350 before 
LOADIng in Ihe program lo play. 
Vou could have the machine do 
Ihis tor you by LOADing first a 
short driver program 

10 CLEAR 65350 : LOAD "" 



iking c 



is before GOSUB 9 



ind LOADs n 
Bye far nov, 





msssB 


■JAlkM 


100 > LET y=0: PRINT ' " ASSEMBLE/ 


144 IF LEN q.S = l THEN LET qS="e" 


EDIT"' - CONT lo continue an as* 


+ qj 




150 LET MUflL h*: LET V-UP.L V S 


101 IF rj="3" THEN LET y-1 


154 GO SUB UhL q* 


ic-2 input "width of Landscape g 


155 PRINT 86; "Pi c *' ; iqf ) J " O.K. 


rid? "; LINE rS: GO TO (13 AND r 


at "; (w) ; ","; ih) ; "? (ENTEP,,-n,-a.> " 


I="C"I*<797 AND r$="")+103 


■ PAUSE O 


105 LET ( =UAL rS 


155 IF PEEK 23556=78 AND pol T 


106 INPUT "height "; LINE rl 


HEN GO SUB 9: GO TO 126 


109 LET r=UflL r% 


157 IF PEEK 23555=73 AND p=l OP 


110 DIM IS (K,r ,4,30; : LET nl = i: 


PEEK 23S56=65 THEN GO TO 116 


LET nl=ml: LET ol=nlr IF y=l TH 


159 LET aj=aS*v«+hS+qS: NEXT P: 


EN LET y=0: RETURN 


LET 15 in ,fs ,o) =aj: NEXT 0: LET o 


115 FOR m=iiH TO t, : FOP n=ni TO 


1 = 1: NEXT n: LET tll = l: NEXT ID : G 


r : FOR 0=01 TO 4 


TO 900 


116 CLS : PRINT cS 


190 LET t=25: CLS : PRINT ,"Nes 


lis LET as="": FOR p=l TO 5 


r ",TA6 t, "Far Mountain" ,"10", 


120 input "Lot '■; (m) ; ",■'; (n) ; " 


TAB l; "20" ' "Forest" , "11";TR6 t:" 


:view ";io)j" -pic ";(pl;" row? 


21" '"Hi Lis" , "12", TAB t; "22 Cs,' 

em", "13", TAB t; "23" ' "Mono 1 1 t h " , 


"i LINE VS: IF VI:"" THEN GO TO 


900 


"14": TAB t; "24 La Ke " , " 15" : TAB 


124 IF LEN vj = l THEN LET vS="0" 


'. ; "2S hensc" , "IS"; TCE l ; "26 


+V* 


Tcwer" . "IT"; TAB t ; "27 Keep" ,"1 


138 INPUT "loc "i IirI,","; in);" 


6", TAB t, "26 Cas t Le" ,"19" : TAB 




t.;"29": IF qlu"h" THEN RETURN 


'■; LINE h* 


.91 PRINT ' - "Horiicn at row 7" 


134 IF LEN h* = l THEN LET h$="0" 


INPUT "Pre:-: ENTER to return", 




LINE rj. GO SUB 9: GO TO 140 


140 INPUT "Loc "; tml.j " ,"; (n! ; " 


260 PRINT '" SflVE DATA" PRINT 


ivieu.i ■•; lo) ; " : pic "MP>i" pic? 


80, "Lands- raping conp Lete" iv/n ■ ■ 


"; LINE q5 


PAUSE 0- IF PEEK 2S55S=1S THEN 


14S IF q*="h" THEN GO TO 190 


C-0 TO 900 




► ► 



ZX Computing Monthly > 



UW 



PEEK 23! 

LET tie! 



. LET nl:yfiL tSir.t.Sl: LET i 

AL Ltir.t ,3) : GO TO 115 
iOi> C-u TO 5000 

-."Hi PRIiJT ■ Ui.q r-OTD S00 ID i" 

estarl": STOP 
9(50 CL5 : PRINT " OPTIONS"'''"' 

l K£ = £p„ble,-Edj f ■ -" 2 Save Data 
_;„;. ,5,,1-D.d^ " i i,ii£... 5 Sis 

USE 0:'lET r«=INKEY«: CL5 '■ GO T 
u MflL rstisa 

5000 LET p=6: LET « = 1 LET •/=!■ 
LET y=l: 50 SUE 5200 

5001 PAUSE O: LET . r * = INKEV S : IF 
PEEK tS556-13 THEN c.q T n -f-O 
|0O5 IF rs,';' then c-0 to SSOO 
5010 IF rs="n" THEN GO TO 5100 
502S LET y = il AND ri="7">+i2 AND 

rs^"&"!+i3 AND r*="5"!+<4 AN? r 



=1 RND y=4 OR ; 



qiiO ■ 



THEN GO TO 5001 
5110 LET W=w+ly=3) - (y=li 
512fl LET X=x + Iy=2) +- (y = 4) 
5130 GO SUB 5200 
5140. GO TO 5001 

5200>LET a*=l*( W , x ,yj ■ tf as.i.- 
" " THEN OLS : PRINT "Loc "*!"" 

'■> - view ";y;" EliPty".' RETURN 
S£10 GO SUB 9; PRINT ttO;flT 0,0;" 



5300 LET po=0: GO SUB 190: I 

• ' '" "i : PRINT as il TO 6) ; 
RSE l;aS<7 TO -IS); INVERSE i 



INUER5E 6;as<; 



'■ THEN GO TO 530 

INK£Y*="S" ftNI 
" AND PO >0) 
'■ THEN LET p: 

■ " THEN GO TO SO 



5301 IF INKEVjs 1 

5302 LET po=p 0+ ; 
c £;■: - <INKEY«="E 
51-tZ IF ;;■ 
o+l: GO TO 5315 

5304 IF XNKEYftn' 


5305 PRINT AT 16, PO;" t " 

5306 GO TO 5301 
5315 FOP 1=1 TO 50: NEXT 

5320 PRINT AT 18,24; "end 

5321 IF INKEYJ="" THEN GO TO 532 
1 

5323 LET PO=po+{INKEY«*"8" AND I 

CM291 - IINKEYS = "S" AND PO>0> 

5323 IF INKEYS=" " THEN LET nl=l 

0+1: GO TO 5330 

?.:■!■ 4 print rt 16, po; " t " 

5li£5 00 TO 5321 

P330 IF nltpl THEN GO TO 530e 

?5?0 INPUT "Hsm firing^"- LINE i 

t: LET lS!*,x,a,pl TO ril)=r*: Gi 

iUB 5200: GO TO 5001 
5999 STOP 

9000 let q«»"": let a=i. let b«i 

: LET c=3. LET d=4: LET e =5 ■ LE* 
f=6: LET g=7: LET z =5 . LET i =9 
LET r_I = CHRS 22 + CHRt 7 + CHRS + ". 



PAPER : 



BORDER 5 



o 

Ul 

s 

s 
o 

Q 

z 
< 



ARE YOU A BUDDING 
PROGRAMMER? mmmm 

^1X is nlwovs Innkinn fnr tnr, ? > ' /^Tl rw^IrT? 



^.X is always looking for top 
quality games and utilities for 
publication. If you have a top 
notch game or a useful utility for 
the Spectrum or QL why not 
send it to us for appraisal on 
cassette or microdrive complete 
with a listing if possible. 

There is also our new feature 
Short Cuts to showcase your 
practical, novel or imaginative 
short routines with cash prizes for 
published listings. For longer 
programs we pay competitive 
rates, and if you have an idea 
for an article or series for ZX — 
drop us a line or phone Bryan 01 
Cliff on 01-437 0626 to talk it over. 



' ' ' ■ '- V_^H 

1 ,J3^ ~ I 



v/ 



ZX Computing Monthly ■ 




A mldl utility by Ray 
Elder for Spectrum 
music makers. 

"■"his program was born out or 
the need to change patches 
quickly from a single controlling 



Spectrum 

to work on all the different MIDI 
Interfaces we use 

The program printed will worl 
with the MfCON (XRI systems), 
EMR, SIEL, JMS. UPSTREAM or 
E+MM Spectrum r. 

There are three Indlvldu 
modes ot operation to this 



ENTER key, The change Is sent 
Instantly and the information I 
not stored, enter one of the ot 



by entering to' at any Input 

stage. 

2. Preset patches. 10 preset 

patches can be stored and art 

sent Instantly on selection ot thi 

respective number key. Initially 



choice by following the on 

3 Sequence patches, Up to 10 
patches may be entered when 
you first enter this section. These 

time a key Is pressed, ony key 
may be used except the P and 
R keys which have the special 
functions ot allowing you to rese 
Ihe sequence or return to Ihe 

Once the end ol a sequence 
Is reached then the program 
loops back to the start of the 
sequence ond begins again. 

eg. It two patches, say 20 

were entered then by repeoted 
pressing ot a key they will be 
sent alternatively until the user 
decides to stop 



change the channel number 
whenever on Input is requiring 
ENTER to be pressed is expected 
Just type to' and press enter to 
access the channel options. 



ZX Computing Monthly ■ Jam 




a 

I 



Of 

5 






■Ijs 



COLOSSUS 

BRIDGE 4 




x playing a 



bridge player hi 

'Istlngulsh between quale frump support but a 

sP°aes and the strong handarecommonplace 

complexities oftTie game itself remaining tricks without having features such as good frumps 

Colossus Bridge 4 Is aimed to ploy the rest ot the hand and on unbalanced dlsfrl 

be'lrm "" squarely a ' lhe , ''' OIJah - lne problem here Is bullon. Once you get used to Its 

Presentation wise the pro- check the validity of your claim In the r!g% contract^ n^boui 

gram works well. Entering a bid allowing you to cheaf If vou " 
jylnQ a cord Is simplicity were unscrupulous enough so 

to do, _. _, _, ., . high cards. The program's card 

The standard of bidding Is at play again Isn't too hot, especl- 

bB5t average Allegedly follow- ally when defending and 



mposslble I 




UIU 



ORE OQ107B 2l»P I 




enormous accuracy In position- 1 
Ingand liming and al limes the 1 

onnoylngly frustrating matter ot 

trial and error as you attempt to I 



searching tor various 

ploying the gome tor a she " **' 
while you realise that it's one 
these games that allows yc 
very Mtle margin tor error or 

There's an elemenl of novel 



complex pattern 


hlch allows 








n, In Frost Byte 






























ughlheearlle 






















It" 


Bnjoyablepam 


Vnofbeing 


TO 


well thou g hi 


3Ut. 




" 








b 









■i: itn ncsiogoaa 


■E 




spihdlE5:d33Q) 




1 — K 


e> 


hi -sowniaaeaa 


5) 



rids me of a targelshootrng 

y Vou control conlrols or a Ker 

i right across it you're going I 

1 the opposite ^ 

is tail leathers off you ityou're V . *'' 
oteguallyqulckonthetrlggef A - 



srssas 



;rim 



I HOW TO GET YOUR SPECTRUM REPAIRED FOR ONLY £19.95 




///// 



DERESOLUT 



Chris Strongroom, who 
converted Palace 
Software's Antiriad to 
the Spectrum presents 
a sprite deresolution 
routine to incorporate 
Into your programs. 



ssolve Ihe sprite onto the 
The program can be typed 



The following progra 
up the first live letters I 
alphabet — as a sprite 
then deresolves. 



print 



abbreviating — or It you have 
no assembler, the column of he) 
— starting line 23 — should be 
typed into a hex-loader. Better 



i im 




HEADING U COMPUTING GERE SOLUTION CEMONSTRflTI D« PROGRAM 






PL 59 








TOP « 








IttCLIST OFF 








FILLCHflR t 






EMI 


PROG EBU 4BBBB 


;A5SEHBLY ADDRESS 




22M 


PHEL.ADD EBU 22AAH 


jfiflN H0UT1HE 10 CALCOLATE SCREEN ADDRESS 




3EH 


SPRITE GRAPHICS EBB 3E6BH 


;MHEREVER YD1IR SPRITE DATA IS 




IMS 


RESOLUTION TYPE EOlt G 


;RES0LVE = 8 DERESOLVE = 129 




mi 


WIDTH EGO 1 






■129 


DEPTH EOU 41 






II7B 


I EGU 121 






■876 


V ECU 128 






II7B 


SPRITE J.EN6TK EOU U[1TH»DEPTH 




re Mil 








21 EAtt 




ORG PROG 




23 EA4I 


3E 13 


HCaHP: LD A,3 




u mi 


Hfl 


OUT (931, A 




25 EA44 


S3 7F 


OUT 11271 ,A 




24 mt 


a 69 m 


CALL SETUP 




27 EUf 


CD it EA 


CALL HOVE 




23 E66C 


C9 


RET 




3« EA4I 


74 


HOVE: HALT 




31 EfiiE 


CD CD EA 


CALL IGRSPR 


jUNPLOT SPRITE 


32 EA71 


CD BS EA 


CALL EIPAND 
E USED 


iNORHALLT TH15 WOULD BE DONE BEFORE UHPL0TTIN6 - TUG BUFFERS MOULD 8 


31 EA74 


DD !i 14 


U «, 111*4] 




34 EA77 


A7 


AND A 




35 EA76 


C4 IS Efl 


CALL HI, CERES 




34 EA7I 


co a n, 


CALL I0RSPR 


PLOT UP SPRITE 


37 EA7E 


74 


HALT 





3 Monthly - January 1987 



aiu 



33 EATF 


76 




HALT 


;HALT5 ARE JUST A QELAV 


3? EAGB 


3E 7F 




LB A.7FH 




» EAB2 


BE FE 




IK A,(8FEH) 




41 EA84 


IF 




DM 




42 EAB5 


DA 6D EA 




JP C , HOVE 




43 EASB 


C9 




RET 


.-RETURN If BREAK IS PRESSES 


45 EAB9 


ID 21 7F 


B SETUP: 


ID [(.SPRITE TABLE 


INITIALISE SPRITE AND PLOT IT 


46 EA9D 


DD 36 II 


B 


LB tm,t 




47 EHfl 


DO 36 11 




LB HM), T 




48 EB95 


DD 36 12 




LI 111*21, IIDTH 




49 EA99 


SB 36 13 


) 


LD 1II+3I, DEPTH 




SI Eflf5 


DB 36 14 


e 


LB UI>4),RE50LUTIDN TYPE [THIS CAK BE EITHER RESOLVE (I8H) DP DEftESOLVE IB1H1 




CD B5 EA 




CALL EIRANB 






CD 7E 14 




LB A, (11+41 




SI EAA7 


FE IB 

CC 15 EB 




CP 8 

CALL I.DERES 




55 EMC 


CD CD EA 




CALL IDH5PR 




56 EAAF 


16 14 




LD B,28 




57 EAB1 


76 


SETUP! 






5B ebb: 


II FB 




mi setupi 




59 EAB4 


C9 




RET 




61 EAI5 


21 IB 3E 


EIPAH) 


LB HL.SPBITE GRAPHICS 


;EIPAN5IOH IS USUALLY A PRELUDE TO SHIFTING 


62 EABB 


11 04 EB 




LD BE, BUFFER 




63 EABB 


JEH 




LD A,l 




it EABD 


DD 46 83 




LD B,f]I+3J 




65 EACI 


DD 4E 12 




LB C, 111*21 




66 EAC3 


C5 


E1PAM 


PUSH BC 




67 EAC4 


47 




LB B,A 




68 EAC5 


ED DB 




LDIR 




6' EAC7 


12 




LB (BE), A 




78 EAC8 


13 




INC BE 




71 EACf 


CI 




POP BC 




72 EACA 






DJHI EIPAKI 




7J EACC 


C9 




RET 




75 EACH 


DD 4E Bl 


1DR5PR 


LD C,II1> 


[SET UP PARANETERS AND PLDT'UHPLDT SPRITE 


76 EABI 


DD 46 II 




LB l,tlW> 




77 EAD3 


CD AA 22 




CALL P1IEL ADB 


;KL*s:RE£N ADDRESS 




DD 46 8! 




LD B,UI'?> 


|WIHH 


79 EMU 


84 




INC B 




81 EABA 


DD 4E 83 




LB C.tll+J) 


iCOEPTH 


SI EADD 


11 84 EB 




LB DE.BUFFER 




62 EMI 


CD E4 EA 




CALL PLOT 




3] EAE3 


C9 




RET 




95 EAE4 


E3 


PLOT: 


PUSH BC 


;A SJNPLE I0R SPRITE ROUTINE 


86 EAE5 


4D 




LDC.L 




B7 EfiEi 




FUHi 


LB A, (BE) 




8B EAE7 


AE 
77 




IBR IHL) 
LD IHL), A 




IB EAE9 


13 




INC BE 




91 EAEA 


X 




INC L 




12 EAEB 


18 F9 




DJNi PLOTl 




11 EAED 


69 




LD L,C 




94 EAEE 


CI 




POP BC 




95 EAEF 


ID 




BEC C 




96 EAFI 






PET 7 




V EAFI 


24 




INC H 




98 EAF2 


7C 




ID A,H 




99 EAF3 


E6 17 




AND 7 




181 EAF5 


C2 E4 EA 




IP NZ,PL0T 




181 EAFB 


7D 




LD A,L 





ZX Computing Monthly ■ January 1987 



LLW 



£ 
< 
a 
O 
O 
a. 



IH 


AF? 


U 28 




ABB A,32 








183 


m 


If 




ID L,A 








m 


UK 


38 E6 




JR C.PLOT 








IBS 


K 


7C 




lD A,N 








18b 


JFF 


06 IB 




sub a 








Iff 


m 


67 




LB H,A 








IN 


"M2 


C3 E4 FA 




JP PLBT 








l«o 
















IIS 
112 


MS 
BBS 

BIA 


DD 7E 84 

FE 8? 
21 14 


HKti 


LD A, (11*4) 
CP 137 

JR H?,BEBES1 








IIS 


BBC 


DD 36 14 BB 




LD IU»41,I36 


iHORMlLT THE SPRITE MOULD BE KILLED AT THIS PBIHT 




114 


BIB 


21 35 EB 


DEFIES! 


LD HL.DMASKS-6 






115 


m 


87 




ADD A, A 








lit 
117 


B14 
III 


B7 

87 




ADD A,A 

abb A, A 








111 


fib 


5F 




LDE.A 








11? 


BI7 


16 81 




LD D,B 








128 


Jlf 


11 




ADD HL,DE 


;HL=START DF MASK FRAME 






121 


HI 


11 B4 EB 




LD DE, DUFFER 


;DE=5PRITE BUFFER START 






122 


BID 


BE BC 




LB C, (SPRITE LEItBTH+SPRJTE LEN5TH/*WHI/7*l 






12! 


JIF 


B6 17 




LD B,7 








124 


B21 


C5 


ceres; 


PUSH BC 








125 


B22 


E5 




PUSH HL 








lit 


B23 




KKn 


LD A, (DEI 








m 


B24 


H 




AND (HLI 








m 


J25 


12 




LD (DEI, A 








12' 


62i 


23 




INC HL 








m 


127 


13 




[HC DE 








131 


623 


11 Ft 




DJNZ DERES3 








IJ2 


l» 


El 




pup nl 








IB 


m 


CI 




POP BC 








134 


B?C 


ID 




DEC C 








135 


BID 


28 F2 




JR HI,DEfi£S2 








131 


B2F 


DD CB 14 7E 




BIT 7,111*41 








117 


63? 


28 14 




JR i, CERES* 








11B 


m 


DC 34 14 




INC 111+41 


S IF BIT 7 IS SET, INCREASE BASK IDERES) 






13? 


B3B 


C9 




RET 








141 


5i? 
















BJ? 


BI 35 84 


KRES4 


DEC 111*41 


[If BIT 7 IS CLEAR, DECREASE MASK NUMBER 






1(2 


nc 


C9 




RET 








143 
















in 
















HI 


B3D 


F7 7F BF Df FB 
FE FB II 


DMASKS 


BB 1111I11IB, 


llll!llB,llllllllB,ll»llillB,llllllllB,llll 


lllB.lllllIIID 


• |1 


I4& 


HI 


77 DD 5F F5 EB 




OB I11IIII1B, 


lllllllD,llllllllB,lil!8ie]B,llllll!lB,llll 


UID.lllllllID 


1 )2 




B4fi 


EE FB IB 












147 


S4D 
B52 


73 DC IF E5 E3 
EC 7A H 




DB 8I11BBI1B, 


ll1118IB,iaill]IIB,lllB8IIID,IH81BllB,ll]l 


BSB.B11I18I8B 




149 


BSE 

B5A 


63 CC 5A A5 55 
55 AA It 




DB I11I8II1B, 


1881 18BB,B1B1I81BB,1B188IIIB,81I18]I1B, Hill 


|]B,1B181I1IB 


P 14 






14V 


BSD 


62 CB 1A 9S 6C 
B« C9 II 




DB I11I8B18B, 


18BiB8BB,88eilBlBB, I8BBBIIIB, 81181 1BBD,1H8 


8116,118811118 




151 


FJ6S 
3M 


91 1? 94 CB 22 
12 24 II 




DB 18818BBBB, 


B8B18BIB,IB8lieieB,llie488B3,8BlB88l8B,8l81l 


B1BD,I81I81I8D 




151 


BiD 
372 


BB BI B2 11 41 
84 81 II 




DB BBBBIBBBE, 


BeBBBBBB.BieBBeiBB.BBBieBBBB ,8 1 I8BBIIB,IBIBI 


I8B,8B8BI8I1S 




152 


B75 
B?A 


18 18 88 81 B8 
IB IB 18 






,8,8 




|B 






1S3 
















!5< 


B7D 


BI8I 


STACK; 


Bit 


8 






IS 


B?F 




5PKITE TABLE: DS 


5 






IH 


pet 




BUFFED 


H 


SPRITE _LEN6TH.SPRITE.LENGTH/IIDTH 






157 
















15B 


JB4 






END 









ZX Computing Monthlv ■ Januorv 1987 




HI 

> 



s 

E 

3 
a. 

5 

HJ 

Q. 



"Vou are Rogue Trooper a 
genetically engineered 
infantryman created to withstand 
the piosonous c hem-clouds ol 

survivor ol the Quartz massocte 

betrayed ana wiped out by the 
Notts. 

Now you' only thought Is to 
— '■■>! reponsible tor the 






•s that □ 



chips mounted on your gun. 
helmet and backpack. 

These three chip buddies 
advise you during your r 



(ind one of the eight vid tapes 
that will prove the Identity ot the 
traitor. Finally Bagman reports on 
current levels ot ammo, kits and 
tapes and applies the medi kits 
it you're getting weak. 

The war torn planet of Nu 
Earth is represented by 3D 
graphics illustrating the ruined 
cities, radiation deserts, 
graveyards, fuel dumps, nu 
forests and glass zones that are 
now swarming with Nort troops. 

Rogue Trooper is controlled by 
Joystick or redeflnable keys and 



exploding If you get tc 

The way to success and a 
longer lite Is to use the scenery 
as cover, only rushing Into the 
open when you can get first 



ml h 



My b 



it you. 



if Ihe 



is well as stir yi 



nlorr 



>usly a 



c deeds. Gunnar helps your 
firing but has a distinctly 
psychotic side to his nature and 
will constantly urge you to "blast 

gives you the odd hint and 
points you in ger 



..._._.ethe 
landscape. This I 
development of 
original Knight Lore stystem tailor 
made to Ihe ruins, trees, groves 
and barbed wire ot Nu Earth. 
Charging around w 



mlvh 



e short 



d gets very e 






e quickly 
down by the Nort troopers, 
o-llrlng pillboxes and mines 
t hove a nasty habit ol 



eight vld-tapes st 

have to wait o little longer 

before taking me to victory. 

The Norts may hve finally 
gunned me down but I took 
plenty ot them with me. One 
thing's certain. I'll be back for 

JoOSTIill 



Ray Elder presents a 
program tor efficient 
text storage. 



TEXT MISER 



il, the 

n of 15 byles per 
message, on a 100 location 
adventure this becomes 1500+ 
bytesl 

In simple terms the program 
takes a text and/or graphics 
Input and stores it sequentially 
as bytes. The short 36 byte 
machine code routine then 
prints out the text as required. 

The routine and code Is 
completely relocatable and 
options to view the text betore 
storage, re-entering It, and 
viewing all the stored text are 

The main disadvantage is the 
editing ot stored text is not 

using the program. Once you 



Details otthe number ot 

can keep an eye on how mucl 
space you have left. The 
program slarts at 40000 but this 
can be lowered It you wish. Frc 



either machine code programs 
or from basic first it should be 
loaded to the required address, 
tor example to load it to 50000 
first CLEAR address-2 (49993) ther 
LOAD "■'CODE 50000, obviously 
the address+ length [as given or 
the opfion page) must not 
exceed 65535. The reason tor 
clearing two below the address 
is that the program uses the 
address-1 location to get the lex 



the prompts. II you just press 
ENTER for the x,y co-ordinates 
and the INK and PAPER colours, 
the program defaults to PRINT AT 
0,Q;INK 0;PAPER7. 

At ony time you can leave the 
text entering routine and view 

going back from the option 
page if you required to add 



For ( 



E the it 



up a 



address, eg. 
LET i=50000, and to print the 
required message POKE the Item 
number info z-1. So to print the 
fifth message you would use 
POKE 2-1.5: RANDOMIZE USR z. 



LD BC. 50000 - POKE the 
message number to the 
address-1 and CALL the address 

Advantages 

Apart from being an 
economical way ot storing text, it 
has the advantage that the text 
cannot be read by listing the 
basic program. The technique ot 
setting up such a text "table" Is 
one which has been used 
extensively betore the advent ot 
good old Inefficient basic, where 
DIMming a siring often meons 
most of the string is wasted 

Each messoge takes up only 
the length ot that message plus 
eight bytes, the format of the 
stored message Is: 
1 byte, total length of entry 
1 byte, paper token character 
1 byte, paper colour 
1 byte, Ink token character 
1 byte. Ink colour 
1 byte. AT token character 
1 byte, y co-ordinate 

n bytes, the character of the 
message 



Listing 

10 CLEAR 39998 

20 FOR 1=40000 TO 40035: HEAD 


55 

160 INPUT "Enter PAPER colour. 
0-7 "| LINE p»: IF p* = "" THEN L 
ET p«="7" 


a: POKE i,a: NEXT i 
30 LET addr=4O050 


170 IF VAL p«<0 OR VAL p*>7 THE 
N GO TO 160 


40 LET no=0 
100 INPUT "Enter Y pos. 0-21 ": 


175 IF INKEYtO"" THEN GO TO 1 
75 


LINE y»: IF y» = "" THEN LET y* = 


180 INPUT "Enter text. 247 char 


"O" 


s max. »j LINE t* 


110 IF VAL y*<0 OR VAL y*>21 TH 
EN GO TO 100 


190 !F LEN t*>247 OR LEN t*<l T 
HEN GO TO 180 


115 IF INKEYKJ"" THEN GO TO 1 


200 LET x=VAL x*: LET y=VAL y« : 


120 INPUT "Enter X pos. 0-31 » j 


LET i=VAL 1«: LET p = VAL p* 
210 PRINT AT y,x; INK 1 j PAPER 


LINE n$: IF x* = "" THEN LET x$ = 


p;t* 


130 IF VAL x«<0 OR VAL x*>31 TH 


220 PRINT #Oi"PresB Y to store. 
N to re-Enter " 


EN GO TO 120 


230 LET a«=lNKEY»: IF a»="N" OR 


135 IF INKEY*0"" THEN GO TO 1 


a«="n" THEN GO TO 100 


35 
140 INPUT "Enter INK colour. 0- 


240 IF a«<>"y" AND a»<>"¥" THEN 
GO TO 230 


7 "| LINE i»: IF i • = •"• THEN LET 


250 LET t*=CHR« CLEN t*+8)*CHRS 


l»-"0" 

150 IF VAL i$<0 OR VAL 1*>7 THE 


17+CHRH p+CHR* 16+CHR* i+CHR* 2 
2 + CHR* y-tCHR* x+ts 


N GO TO 140 
155 IF INKEYSO"" THEN GO TO 1 


260 FOR 1=1 TO LEN t* ; POKE add 
r+l-l,C0DE t*(l): NEXT i: LET ad 



ZX Computing Monthly ■ January 1987 



IIIU 



dr=addr+LEN t 


It LET no=no* 


1 


270 


CLS : PR 


NT tOi"Any it 


□ re ? 


Y or 


N " 






280 


LET a»=l 


^JKEY* ; IF a» = 


By" 0R 


»•■ 


Y" THEN 


GO TO lOO 




2S0 


IF a*<>" 


i" AND a*0"S 


" THEN 


GO 


TO 280 






300 


PRINT "N 


jmber of item 


3=";no 


' ' "Length of 




DOOO* • 


• "Press! "i AT 


3,8;"1. To be 


e text 


";AT 


10, 8s "2. 


To SAVE text 


data" 


;AT 


2,8i"3. 


\dd more text 




310 


LET a*=l 


>JKEY* : IF a*< 


"1" OR 




3" THEN 


GO TO 310 




320 


CLS : SO 


TO 300*VAL a 


»«100 


400 


FOR 1=1 


'0 no: CLS : 


J OKE 3 


9999 


i: RANDOMIZE USR 40000 


410 


INPUT "P 


ress ENTER "i 


LINE 


420 


NEXT 1 






430 


CLS : GO 


TO 300 




500 


SAVE "te 


f'CODE 4000C 


,addr- 


40000 






600 


GO TO 100 




999 




















, 35,235, 205,60,32,201 





Machine code routine 




9C40 




0000 




ORG 


40000 


9C40 


213200 


0005 




LD 


HL.50 


9C43 


09 


0010 




ADD 


HL.BC 


9C44 


OB 


0015 




DEC 


BC 


9C45 


OA 


0020 




LD 


A, (BO 


9C46 


3D 


0025 




DEC 


A 


9C47 


FEOO 


00 3D 




CP 


O 


9C49 


2808 


0035 




JR 


Z, PRINT 


9C4B 


47 


0040 




LD 


B, A 


9C4C 


1600 


004S 




LD 


D, 


9C4E 


7E 


0050 


LOOP 


LD 


A, (HL> 


9C4F 


SF 


0055 




LD 


E, A 


9C50 


19 


0060 




ADD 


HL.DE 


9C51 


10FB 


0065 




DJNZ 


LOOP 


9C53 


E5 


0070 


PRINT 


PUSH 


HL 


9C54 


3E02 


0075 




LD 


A, 2 


9C56 


CD0116 


0080 




CALL 


1601H 




El 


0085 




POP 


HL 


9C5A 


oeoo 


0090 




LD 


B,0 


9CSC 




0095 




LD 


C, (HL) 


9C5D 


OD 


0100 




DEC 


C 


9C5E 


23 


0105 




INC 


HL 


9C5F 


EB 


0110 




EX 


DE.HL 


9C60 


CD3C20 


0115 




CALL 


203CH 


9C63 


C9 


0120 
0125 




RET 
END 




PRINT 9C53 


LOOP 


9C4E 


* 


5E3E 




THE MONSTER RUSH FOR 
THE NEW 




*>,iwMM-m\m 



£15.00 for 12 issues U.K. 

£18.00 for 12 Issues Overseas Surface Mai 

461.20 for 12 issue* Overseas Airmail 

Send this form with your remittance to: 

INFONET LTD., Times House, 179 Tbe Marlou 

Heme! Hempstead, Herts. HP! 1HB. 



IM 



5I-IGI?T(J||TS 



Ray Elder with another 
prizewinning collection 
of unusual, practical or 
ingenious routines. 



Security alert 

MA Shortl has o similar liking as 
I do for 'silly' programs and this 
one has no real purpose except 
to give heart attacks to 
customers who press the keys of 
□ Spectrum on the shelves ol 



When run the Spectrum sits 
there with the usual Sinclair 
copyright logo looking innocent 
and tempting, but when 



Hurrah tor Currah 



Spectrum, but It is not easy to 
program. A. Welsh's program 
provide 



manipulation of allophones to 
enable you to create a tape or 
mlcrodrive dictionary, change 
the lines 330 and 340 for 



19 


REM Blarn 








20 


CLEAR 63343! FOR n»63346 


TO 


63367: READ ■: PO 


E r>,a: 




n 


. 40 


PRINT #Pl 19BZ Sine] 


air R 










30 


PAUSE ?>: CLS 


PRINT 


AT 


0, 


9r FLASH If- SECURITY ALERT ■ 




6« 


RANDOMIZE USR 


65346 






70 


DATA 38,22,92 


IS, 13. 


3,30,0 


,243 


21!, 234,239, 16,67, 16 


254 


29 


,32, 24*, 231, 24, 234 

















ORD GE 


NERflTOR 




1 


a 


16 






31 






( e r r i 












3^ 






















































35 


















J6 




































33 


















































i~* i 




















AS 
















t> I 






























° 




■ do ■ 


4-5 


e,-> 


b;-i 





o 
o 

X 



ZX Computing Monthly ■ 



HIU 



Robert Glows mokes II o hat 

trick with this, his third published 

program in Short Cuts . . . 

A great little program which 

jld keep voi happy tor hours, 

machine code reads sound 

each number represents a 
'pause' which controls the 

juipul. This table ot data must 



S2 
o 

o 

i 

v> 

52 



Daisywheel Pictures 

Two very short programs which 
perform a unique feat, 
producing graphic style pictures 
on a doisvwheel printer. Actually 
any printer could produce this 
type of pic and It could easily 
be modified to operate via the 
Interfoce 1 RS23Z Interface on a 



The a 
miracle is Char 

"The copy ro 




.r ol tt 



. I (INK) and leoves It 
blonk II it Is not [PAPER] coloi 
My routine prints a * instea< 



□ II give the printer a 
; to print In as 
compressed d mode c . 

-' — togethei 



printer, possibly 8 

inch Instead ot the usual 6. 

'The routine prints sideways 
and needs to get 176 character: 

with your printer then you will 
have to settle for only printing 
part ot the screen. This con be 



"Finally switch off the 
automatic perforation skip If 
enabled on your printer, ant 



picture ready on tape for the 
program to load and then print" 

See Figure 1 for example 
These clever printer routines win 
Charles Barron the Star Cut 




ZX Computing Monthly ■ January 1987 



planning sessions [Figure 2). 

Designed lor use with the ZX 
and Alphacom printers It'll keep 
churning out the grids until 
BREAK Is pressed. 



3 REM uDO Grid* 
10 INVERSE 1! PRINT AT l,3t"Us 
*r Pr-f 1 n*<f graphics grid* 

?e inverse 0: print at 2,01-12 

8 *4 32 16 9 4 2 I Total* 

40 PLOT 0,0: DRAW 0,130: DRAW 

210,0! DRAW 0,-130: DRAW -210,0 

30 PLOT 220,130: DRAW 34,-0: T 
RAW 0,-130: DRAW -34,0: DRAW 0,1 
30 

60 PLOT 26,0: DRAW 0,159: PLOT 
33,0: DRAW 0,139: PLOT B0,0: DR 
AW 0,139: PLOT 108,0: DRAW 0,139 
: PLOT 133,0! DRAW 0,139: PLOT I 
40,0! DRAW 0,139: PLOT 183,0: DR 
AW 0, 139 

70 PLOT 1,17: DRAW 208,0: PLOT 
1,34: DRAW 208,0; PLOT 1,54: DR 
AW 208,0: PLOT 1,74: DRAW 208,0: 
PLOT 1,94: DRAW 208,0: PLOT 1,1 
14: DRAW 208.0: PLOT 1,134: DRAW 
208,0 
80 PLOT 221,134: DRAW 33,0: PL 
OT 221,114: DRAW 33,0: PLOT 221, 
94: DRAW 33,0: PLOT 221,74: DRAW 
33,0: PLOT 221,34! DRAW 33,0: P 
LOT 221,34: DRAW 33,0: PLOT 221, 
1«S: DPAW 33,0 
90 COPY 
l«p DAUSF 1! GO TO 10 



128 


















B4. 


•jh> 


ID 


1 


4- 


d 


1 




"o t a I 



























































































































































Poster Print 

John Scott ot Stroud sent us a 
huge screen dump to 
demonstrate his Spectrum Serial 
8054 printer routine. To use It 
load In the screen picture vou 
want to print and save It to 
RAMdlsk with: SAVE !"DUMP" 
SCREENS 

Now load your saved version 
ot his program. It you saved It 
using the autorun line number 
then you con go awoy and 
torget It (or half an hour as It 
takes that long to print it. 

The print It done In two 
'halves sideways on the paper 
and once completed then you 
will have to sellotape the two 
holves together to produce a 
unique wall poster, especially H 
you used a graphics program to 
create on original picture 



u 



ZX Computing Monthly ■ January 1987 



G 



■W, A^R < 

tifk M w 



t \ 




S 



? 



new challenges for 
Spectrum Generals. 
Tony Hetherlngton 
reports from the front. 



being Ilia 

wargamers. Three new games as replay the disastrous WW1 
different os the campaigns they Gallipoll campaign and tangle 
simulate add to an Impressive with monsters and wizards In 

line up which already Includes Swords ol Sane, 
games such as Desert Rats and 
Arnhem. Gallipoli 

In this latest botch ol blood 'n 
guts (or the thinking gamer, The Gallipoll campaign was 

typical ol the disastrous WW1 
conflicts In which both sides 
suffered terrible casualties 





lorgely due 
Would It be 
charge? 
Gallipoll 



forces) ond Turkish armies wi 
the computer ready to plav 
game II you haven't enough 



players can dlt, 
trenches and set bombs oft 
under the enemy torces to try to 
break the deadlock. 

The eipanded version also 

om the standard comparison c 
ipposlng armies strengths a 
strain cover by the Ir ' 



The oblect I 
relatively simple In that the Allies 
with a total ot 60.000 troops must 
advance to take the Turks main 

the 22,000 Turkish troops 

The gam ep lay follows 
accepted wargame standards 
with a cursor being moved 

' the toioes Issuing 

it make this gome 



As well as the usual move 
and lire orders Gallipoll troops 
can dig trenches forming the 
almost impassable lines typical 
of WW. 

In the eipanded 12BK version 
(Included as part ot the game) 



n. After twenty shots the 
computer evaluates your 
performance which determines 
" b result of all battles In that 

Unfortunately this Spoils the 
game reducing a challenging 
simulation Into a fairground 
shooting gallery. Luckily it's only 
an option that con be Ignored. 




Napoleon at War 

The battle ot Eylau was close n 
affair between Napoleon ond 
the combined Russian and 
Prussian forces ond therefore 
ideally suited to conversion Ink 
a wargame. 

This simulation offers 
prospective Napoleons not on! 
a computerised opponent but 
also digital commanders >f " ' 






your 



orders as best as they can. 

If ffiey run out ot Ideas or 

their position Is Impossible then 



sage. 



they'll 

Alternatively you can run me 
whole battle yourself as In a 
standard wargame but I 
preferred to use the 
Commanders which added a 
new dimension to a fasclnotlng 
period of history. 

The game Itself Is a tricky 
bollanclng act between holding 
onto the town of Eylau while 
striking at the advancing enemy. 



. 



II lor If 






Napoleon at War definitely 
captures the atmosphere of the 
age ol horse, cannon and 
musket. 



Swords of Bane 

As a change from recreating 
historical battles here's a 
chance to fight monsters with 
wizards In the first computerised 
fantasy wargame. 



demons are approaching the 

village led by the Fire Oemon. 
Vou must raise an army of 



By spending your 






meagre 



ds to a large 

peasant rabble 

This Is no ordinary wargame. 
The wizards can hurl spells from 
quite o distance and the 
monsters drain the life energy 
from those that get too close 
" n '1 so you must arrange your 
es so that when you strike. 
kill, otherwise you'll actually 
~ the enemy stronger! 






Q 

< 



j..^^ Jj^j 




Swords of Bane is an otlempi 
e the depth and 
lendous possibilities of 
fantasy wargamlng which hasn't 

There's not the variety of 
monster type of characteristics 



n ot spells lo Si 
wizard opart from c ' 
The result Is a garni 
Ignored by pure wargamers o 
will disappoint fantasy freaks. 



progre; 
campaigns [as c 

" >wina Napoleonic battles 

te worgaming periods), 
ber ot troops Involved 
ana me tactics required to gain 
any ground at all saves this one 
for the experts. The sub game 
actually spoils the gome but 
can be avoided. 

illy Swords of Bone Just 

:s smothered In 
lack of depth, v 
clumsy control system that hod 
you ordering troops on □ 
fraction of the battlefield without 
being able to see the rest. 

Gallipoli and Napoleon at 
War cos! £8.95. Swords oi Bane 
E7.95. 



(!R$SSHRi; 




ZX Computing Monthly ■ 



////A 



MINDP£0$ 



Peter Sweasey, our surly 
sentinel at the portal of 
the adventure market 
with the pre-Chrlstmas 
releases. 



well is not! It's Christmas anc 
still down here In the damp 
o fairy lights to 
brighten the dork, nr 
decorations to makt 




inn 



** 


^^^^j&S 












lugsy 


ugsy 



The Archers 












•e led lo o lolrly mun- 






























palli young woman 







country singer Eddie Grund> 
and ageing wine-bar owner 
Nelson Gabriel are (tie chase n 

Ihe show - like myself — mere made; and you can Indulge In very rare elect tor iris game lo 

soi'uUeaai'dreiatior.Kriipiwrh wo god en -ai ngs perform- interesting and amusing Jflu- 







' '-- short tor the asking 
ide a good deal ot fun 






:,.<„, 






1TSHSi u 3SS 


""& 


!=c~ta ™ sssn ™."S,,rur P s z 


HUUlJ Ml. 








and Crusader are to be con- this age ol Level 1 ? style parsers, 
gratulaied on trie quality ol Furthermore, tew words can be 

dinosdur poster. Their clue sheel One good point ot Ihe 
is very well devised. Neither parser is that it tells you eiaotly 
nave 'hey laker 'he easy rou:e what r doesn'; underhand; the 


the game □ mishmash rather 
thon "lightheaded". 

All these laulis would be 


Prehistoric 
Adventure 


| 


ind trie Elixir ot Voulh 






18 Henley Wood Road, Earley 
Reading. Berks RG4 2EE. 



< 



J r l i-. k !-i.< on. r. w I ■ I ■:: I ■ e. plains •: O'.v-yr- r in It,- so 

he evolutionary problem ol advantage ol doing 
*hy they're around all he same wi 



ipble advanced authentic pr 



GRIM 



ZX Compuling Monthly ■ January 1987 




odd* man 


conditio 


s and 


lorm cards Xparl Irom 
















solving Inlei 


























5 about r 




factors Im 


upposed 1 


) con- 


Theinstructlonsshou 


j novo 


















e of the pi 




lhat 1 gave 
review/We 








given. Indue 






















































,. ■. 




,.:>- 



Clotures which do appear are games 
gh resolution and pleasom ro player do things like this There 



When you need more 

loney during Ihe game (you J V 

ave lo buy things like petrol. JT Ti i in ha— ■•■■ 

Irlnks. cor repair's], you must %," , MAW! I \\) 

isit Ihe race course al New- , '&''<, lYIU 10 I Ml 

lorkel. Once Ihere, you load ( -i"-,*« ■ ■ • _ _ 

leie 2 where vou have si* ~K^-±A ^ ■ I ■ 

iraphlcally portrayed races to ^ITOV ■ ■ ■ ■ ■ ■ 




LINE 



fell from ft 



Suddenly fast Thursday, there 

loud Ihud as something 

dungeon roof. The 
uusi cleared and my excitement 
mounted as a tubby figure with 
•- "-'- shoulder slowly 
* Could It be? 

early, insteod it was the 
Press postman, who — no 
due lo one Christmas 
of sherry too many — had 
through the grating. And 
ok wasn'f lull of prezzies, 
>ur problems No rest lor 
Is year . , , Still, at least the 
spirit seems to have 
ed many of you, since I 



n Ihe helpline recently 

n Kentilla, re-rc 

srlronic. I olwa 
this game Infuriating, v 
very sluggish input system and 
aggravating randomness. One 
person who likes it, however, Is 
Anthony Dunn trom Camberley. 
He wants to enter Tylon's Castle 
To do this, you need to untie 



H 



E L P L I N E 



3 

< 



mothershlp. OPEN AIRLOCK ot this 
1o find a treasure. All treasures 
should be dropped in the Wellie 

Ian Giltillan Is stuck in Delta 



tor him and Zelda to arrive. 
When the offer is made, CLIMB 
UP. Thanks to Anlhony for a 
complete solution to Mlnd*tone 
by The Edge. Stuart Bell from 
County Durham asks a number 
of questions, the answers to 
which are as follows. lo cross the 
sea. you need the oars for your 
boat [EXAMINE VEGETATION for a 
second time], PULL BOAT out to 
seo. then GO BOAT and ROW 
WEST. When it starts to flood. BAIL 
OUT BOAT WITH CHALICE. PUT 
DIAMONDS INTO CRUCIBLE in the 
tory. PUT CRUCIBLE INTO 
UP.NACE, TURN DIAL TO ON then 
'URN DIAL TO OFF and remove 
crucible again. To open the 
st you must dip the gold key 
the green fluid in the 

< your ring off first. Kill the 
attling quarg before carrying it 
across Ihe River Cara. 

Word ot Disintegration which he 
wishes to kill. You need to wear 
gold ring. The troll can be 
id with the crysfal. John also 

pleas I printed in the 
November issue, for which I 

:. him. and he asks for help 

with Madarin's Time Ot The End. 
STROKE ANIMAL in the Oasis; and 
when back in the Allen Lab. use 
? robot to fin equipment. 
Paul Newport wonts to lower 
= chandelier in Sorcerer Of 
Claymoregue Castle. Go lo Ihe 
""-'- Room and PUSH WEST wall, 
which will enable you lo find the 
Methuselah and unravel spells. 
Go to the Ballroom. CAST 
UNRAVEL, leave quickly C 



Next up, sor 
games, starting with the "wacky" 
Quest For The Holy Grail. An 



he has found the artefact in 
question. You must return with It 
to the Throne Room at Camelot 
and PUT GRAIL ON THRONE. 
Avoid the sorcerer on your way 
ouf of the coves 

Andrew Neville wants a job In 
Melbourne House's Hampstead I 

train, and hove the bracket from 
the industrial estate. Take and 
read the cord you are offered, 
GIVE BRACKET lo Justin and take 

take and wear a suit from Ihe 
tailors. Go to the Gentleman's 
Club, GIVE CARD and say YES to 
what's offered. Thanks for your 



Very big problems 

The girls from Saint Brides h 






ir Very Big Cave 



Ogden ■ 
Advenlu 
a tortuous process. Go to Ihe 
Wellie house and GET LOG. SAY 
COMM to be transported back 
to the Debris Room. You cannot 
carry bolh the log and the 
lamp So provided you left the 
lamp in the Debris Room, DROP 
LOG, GET LAMP and carry It one 
location west. DROP LAMP and 
return for Ihe log. Although you 
won't be able to see anything, 
you can still pick il up and lake 
il west. Then repeat Ihls process 
ol swapping objects until Ihe 
chasm, where you can drop the 
log lo form a bridge. And — 



don'l go back until you he 
glass plummet. 


ar the 


Deleal them then EXAMINE 
CHARACTERS. You'll find a 


























is mens 



eat you. Then CRY HELP And in 
The Hobblt which Ion also 
asked about, you need to wear 
the ring to successfully escape 
In the barrel. It keeps slipping 
off. so check carelully. 

And finally, Nick Bailey ot 
Addlestone Is unable lo leave 
the first few locations in 
Interceptor's Aftershock. You 
need the chair from your office 
Take It to the lift, EXAMINE LIFT, 
CLIMB ONTO CHAIR, REMOVE 
what you found on examination 
and CLIMB OUT OF LIFT. 

Many thanks as ever to John 
Wilson of Rochdale. 

Write to me 

Grandmother Is asleep in Iron! of 
the Queen's speech on telly. 
Young Johnny has already 
broken Jones doll with his He- 
Man. The radio-alarm clock 
won't work and you were given 
live last year anyway. The place 
Is covered with wrapping paper 
and, to cap It all. you can'l gel 
out ol the first localion of the 
bloomln' adventure which Aunty 
Delrdre bought you. You've been 
trying It since Johnny woke you 
up al 4 am in the morning and 
It has definitely put paid lo any 



A few rules: British 
correspondents, please enclose 
a stamped, addressed envelope 
If you want a personal reply 

magazine to come out. II you 
are wriling from abroad, lust 
enclose an envelope — I'll add 
the postage. I try to respond 



reply). I ONLY DEAL WITH 
ADVENTURES. Not arcade games: 
nor technical problems (write lo 
Crosswlres about those]; nor 
arcade adventures [Gargoyle 
games included). Finally, please 
put the name ol Ihe game 
you're writing about on the bock 
of Ihe envelope 

help, Christmas cake, unwanted 
presents, cards and tinsel to: 
Mlndplay. Dismally Undecorated 
Dungeons, ZX Computing. 1 
Golden Squore, London W1R 3AB 
Hope you all have a fun time 
See you In '87 1 



ZX Computing Monthly ■ 



»«• 



•*^A 



■ ::''z 



1 K£"J3 


'■H -i Tih^WI 







Forget Batman, Bond 
and the rest of the 
everyday heroes. In US 
Gold's Infiltrator you 
ARE Johnny "Jimbo 
Baby" McGibbets! 




&) # 



Brian Becket reviews 
Digital Precisions 
Professional Astrologer. 



^»ur fare dear Freddy lies not In 
our stars but in ourselvesl This 
clever paraphrase of 
Shokespeore [whom I'm sure will 
forgive rne) is for Digital 
Precision's ever-inventive and 
personable managing director 
Freddv Vachha who has 

sophisticated QL astrology 
program upon a weary and 
troubled world Increasingly 
desperate to gain □ measure ot 
insight Into whatever passes lor 
destiny In these cynical days. 
Professional Astrologer sells for 
£59.95 or E69.95 depending 
upon an optional Professional 



— I do not believe In astrology 
and rate its "scientific" worth as 
more or less equivalent to the 
old Roman custom of forecasting 
events by reading the entrails of 
sheep. While astrology is a good 
deal less messy and far more 
likely to keep the RSPCA off your 

today's world — an Inexcusable 
eierclse In the surrender of 
rationality to unreasoned belief. 
A great many believe in 
astrology to at least some extent 
(a great many people also once 
believed the earth to be flat] 

a good program catering to 
their needs and Professional 
Astrologer is an Indisputably 
good program. Besides, 
according to the 
[comprehensive) manual, neither 
Freddy Vachha nor chief 
program developer Elmar 
Duenssar believe In astrology 



Impressive piece of professional 
software and would seem to 
contain ]ust about every feature 
required (or the complex 
calculations required by those 
who lake astrology seriously 
enough to buy a program to aid 



there 



ren plenty of scope 
ersonally I Intend to 



those glassy-eyed trendies who 
invariably appear ot ony party 
anywhere fo stand around 



innocent o 



t their signs 
leave all that 









ought to be a good 

Professional Astrologer also 
allows (or some phenomenally 
accurate modelling of the solar 
system and projections of 
planetary positions so that it is 
possible to use It tor truly serious 
purposes [on astronomy 
package of equal power would 



QICOLUMN 



n excellent program 



package w 
competitor on any n 



y "i f - If 



rth the program 

nual Is Impressive 

f. The program's 

o flexible Ihot 



deslgi 

tailoring ond is: 
highly personoli: 
the order of the doy. There's an 

Quill] that will produce length 
ond detailed documents/reports 
of a professional standard. 

All together, the package 
accounts lor some 400k but Is 
designed to run easily on an 
unexpanded QL and its 
versatility and power makes one 
e the scope for high 
mpullng that is actually 



n the machine is 



taken such a profession a I 
approach to QL programming. 



ZX Computing Monthly ■ 



Micro-astrology 

The development ot Professional 
Astrologer drew upon the 
consultancy services of honest- 
to-god astrologers so — if you're 

ot the scepticism voiced by the 
specialists who put It together or 
ot Ihe agnoticlsm ot some 



efficient but I can't suspend my 
disbelief enough to honestly 
comment on the results My spies 

enthuslostlc attitudes towards 
Professional Astrologer In the 
star-gazer circle so. If you want o 
computer package (or better 
garlng, this is undoubtedly the 
one to get. The package will do 
all the things a good astrologer 

These include character 
evaluation from planetary 

partner options], day-to-day and 
year-by-year forecasts It you're 
Intending to go Into business as 
the neighbourhood Merlin, the 
word "professional" In the title is 
fully justified. The package Is an 



be an absolute delight). 

If we can look lor more 
quality software for the QL as we 

Digital Is one ot the lew 
companies who will provide It a 
most ol the others are now 
seeking new claims In more 
promising gold fields I got a 
couple ot arcade games 
[Oroidzone and Block lands) 
shipped to me along with 
Professional Astrologer as well a: 
a pile ol other recent Digital 
products, so you're likely to be 
reading a lair omount about the 
company In coming columns. 

For the moment, all I can say 
Is that my 9-year-old finds 
Droidzone fast, exciting and fun. 
but that sadly Blocklands came 



suggest that II Professional 



earlier, Sir Cllve could have 
caught a glimpse of things to 

instead, or should we Just take 
the old Greek view that while 

does have an Inalienable right 



lUU 



Thinking of bu' 

printer? Alan Davis 

aps out his chosen 

route through the 

hardware jungle. 



indeed, you could hardly help 
noticing — that ihe long- 
suffering Hay Elder spend! 
lime In Crosswlres" unrav 
problems with printers than 
spends on any other single 
topic Month after month. It 
seems, one poor soul after 

simply because some porticul 
combination ot hardware won't 
do what it was bought to do — 
print hard copy! 

To these unfortunate people 
have but one thing to say: I 
deeply sympathise! Speaking 
purely personally, I tend '- 




printing 
Without 

ARS 



e died, then a second, c 
finally a third. I decided to 
abandon this head-banging 
exercise in favour of something 
that actually worked. At (haf 
time the Seicosha GP50 had just 
become available, ot what then 



initial scepticism and resen 
time I have to spend getting ir 

people, I buy a piece ol 
equipment because I expect 
to make my programming life 
easier — and days spent 
fiddling about just to make It 
work are. to me. wasted days. 

To those who are in the midst 
of llfe-or-dealh struggles with □ 
Mindboggler Mk2 printer and 

offer no comfort except to poinf 
you towards Hay Elder the 
Crosswlres Wizard. However, to 
those who are still merely 
thinking of investing in a decent 
printer, but haven't yet 






forced Into the purcha; 
full-size Job. And ' 
eventually the Ir 
happened: the i 
died noisily In rr 
out by two years 



little story tc 
helpful. 

Like many a Spectrum 
programmer. I started out In th. 
early days with [no sniggering, 
please) a ZX - — 



dragons], though I had a nolio 
thai the Cenlronics GLF> was 
generally considered a 
reasonable machine at arounc 
E150. What I was hoping, you 







keeps his finger firmly on the 

ing that I'd get good 

previous occasions). What I said, 
effectively, was this: 

"Given an Interface 1. which 1 
already have, and the fact that I 
don't want to spend doys writing 
utility programs to drive it. what 
printer should I buy? Would the 
GLP do?" 



e. Forgt 
i. Go fo 



vlll set you back £190 or so, 
but you'll get o superb NLQ 
option, a wide range of print 
styles, lull Epson compatibility, 

dumps at the press ot a single 
key, tractor feed or single sheet 
loading, and I guarantee you'll 
be able to take it home and 



Lacking faith, I demurred 
at first. After all, the GLP wa: 
cheaper, I said. But my adv 
was adamant, pointing out 

•r the Amstrad b " " 



vhlch has been such a blight to 
o many? Beaching for the 
;hequeboak and the prayer 
not, I chose the latter course. 
Now I don't normally keep 



first developments (perhaps 




ZX Computing Monthly - 




Kempston Interface looks offer 
You like a fairy godmother: just i 
handful of commands, simplv 






b than this; 



arriving home with the stuff, I 
had printed out the entire tent of 
□n ortiele for ZXC using Tasword 
2, a lengthy assembler lisling 
from Hlsofts DEVPAC, a BASIC 
program listing, and three or 
lour enlarged screen dumps of 
excellent quality. The Amstrad 
printer manual Is wonderfully 



Kempston c 

Interface — which makes tl _ 

difference only E30; lb) Getting 

screen dumps on the 

G LP/1 menace 1 combination 

wouldn't be straightforward; (c) 

The print quality of the Amstrad 

knocked the GLP into a cocked 

hat — an opinion I could readily 

agree with after seeing a 

sample printout; and (d) He 



G LP, 1 1 menace 1. 

I gave In, scraped together 
the extra cash (which hurt!] and 
took the plunge. 8ut I didnt 
regret it. To give you some idea 
>asy It all w 



fuss Is about. Of such people I 
can only stand in admiring awe, 
and apologise tor wasting their 
time. At the other extreme, 
however, I can foresee a different 
reaction from those who mlnht 

perhaps thus: 

very fine (or him. but ne nas a io 
of programming experience, 
ond what he finds obvious may 



s beginners, 





hands-on experience of printers 
other than the "ZX" type before 
this. II It was painless /or me. 
then so will it be for you. 

There are probably countless 
~""~s of devices which 



op.?-n 



; Bui 



quality which will enable you I 
produce more than merely 
acceptable word -processed 
material: It you want listings or 
screen dumps at fhe press ot a 
key; and it you want to sleep 
easy, knowing that all this can 
be achieved with the minimum 
of fuss — well. then. I'm sure yo 
could do a good deal worse 
than to go for the Kempston 
"E'VAmstrad DMP 2C0O 



DISCS 



AT LOW PRICES 
IN PLASTIC LIBRARY CASES 



BULK DISCS AT CRAZY PRICES 



LOB00 



IO (p loner) 



Colour Monitors. Massive Discounts 

Philips BM7502 (Green) £79, 

Philips BM7522 (Amber) E69. 

Philips850l (Med -res Colour) £199, 

Philips8533 (Hi-res Colour) £269. 

JUST DISKS 

18, CRESCENT WAY, GREEN ST. GREEN, 

ORPINGTON, KENT BR6 9LS 

a Tel: 0689 61947 —p. 

All prices include VATandPSP ^Et 




BINDERS 

FOR YOUR VALUABLE 

COLLECTION OF .*-. 

ZX COMPUTING * E5.J 

MAGAZINES ', l" 

SMART EASY TO use »J" 
■TOP QUALITY 



If an advertisement 
is wrong we're here 



i the press, in print 
on posters or in the cinema which you find 
unacceptable, write to us at the address below, * 

The Advertising Standards Authority Jf 

ASA Lri, Dtp! 3 Brook Houh, Tomngmn Place. Lcndon WOE 7HN 



ZX Computing Monthly - 



STREAMS 

AND 
CHANNELS 



< 

O 
O 
a 

Q. 



o 

LU 

a 



Toni Baker sheds light 
on windows for all 
Spccirums. 



them Also we introduced tr 
concept of "user defined 
channels" — that Is — new 



window, which I hove called 
■'Fast" and "5low" windows 
(although in practice there 

difference in speed between the 
two). A "Fast" window will do 
exactly whal is described above, 
and no more. The standard 
character set is used (although 
this may be altered by 
changing the system varloble 
[CHARS) al address 5C36] and all 
characters are eight pixels wide. 
A "Slow" window, however, has 
two Important extras. The (Irst is 
lell-justitlcatlon. Put simply this 



program to CLOSE a user 
defined channel. Apologies are 
due here as unfortunately it was 
riddled with bugs, so I've listed a 
new version in this episode. You 
might like to play "Spot the 
bugs" by comparing last month's 
listing to this months - see how 
many you can tlnd! The 
included version works, however, 
as does the rest of the program. 

Windows 

delined channel called a 
WINDOW. The concept of a 
window Is very simple. Users of 
the OL will already be familiar 
with them. A window Is a 
rectangular region of the screen 
which may be treated as It It 

print text to a window It will only 
appear within the confines of 
this rectangle, and once the 
window gets completely full it 
will scroll Independently of the 



III not be split up - 
ord is too long to IH 



paused the screen will appear 
to freeze. Vou may then press 
either SPACE (which continues 
with the scroll) or BREAK (which 
will break out giving report 
message D BREAK - CONT 
repeats). Even if the scroll pause 
is disabled it will si. . bo ponr^ 
to break out at the point ot 
scrolling by pressing BREAK. 

The Spectrum, unlike the QL, 
does not come equipped wllh 
the statement CLS N (which 

to make special provision to 
ensure thai a window may be 
cleared easily tram BASIC. I have 
used CHRS as a clear-window 
control, thus to clear a window 
attached to stream tour It would 



II automatically 



PRINT 4;CHR$ 0; 

can put other print Items on the 
same line ol course All of the 
normal controls are allowed, 
including AT and TAB all ot the 
colour controls [PAPER. INK, FLASH 
and BRIGHT) as well as INVERSE. 
OVER is not Incorporated, 
however, when used with SLOW 
windows OVER 1 will switch to 
printing with double-height 
characters, while OVER will 
revert to printing with single- 
height characters. 

As was stated in the last 
article, all of our new user 
defined channels will be 
Identified by the fact that IX+05 
will contain the two-byte value 
1234h. where IX points to the 
channel information block 
Figure one lists the channel 
information used by a window 
channel. Note that If the window 
is a Fast window then 
W_ SCROLLS [IX+15] will be the 
last variable - IX+16 and 
beyond will not exist. 



ZX Computing Monthly ■ January f9B7 



(IDC* 

The program eommenc 

defined channels, not just 
windows. Al address B000 the 
routine CLDSE_NEW will close 
the new channel which is 

lined channels. I 

lost It this routine is used. At 
address B06D the routine 
OPEN_NEW will open anv new 

attach It to a stream. To use this 
sub-routine the registers must be 
p re-assigned with the required 
values, as specified In the notes 



BD61 



■■!■ ch -j 



yn mot Mecessarny ail 01 
n. CNR. TYPE (address B0B7] 

will e»pand keywords, and will 

count Incoming control 

ling Sp 



[see Figure One; 



■ding 






,.u. „ t e character 
i sign (lag Is set, It 



j done for this 
... CHS_ TYPE_2 
B12F) will also d 



mannei win o 
sign (lag set if 




finished. 
then we come to the 
n itself. The program w 
>th on 16KI48K Spectrur 
the Spectrum 128, in 



prog 

■-.f ■ 



that the Spect 
uilt-ln software wn 

make up 



n the 



128 must e 



12S in 12BK r 
possible to c 



le Spectrum 

e stack resides below 
aaaress BFFF otherwise the 
program will crash, 

screen one It is only necessary 



to set oil 7 of the B register (they 
co-ordinate of the window) when 
opening the channel. 

window channel. Firstly you must 
assign the registers as defined in 
the notes above OPEN_WINDOW 
[address B212), and then all you 

OPEN_WINDOW itself Voila. the 
|ob will be dona and you can 
use the channel in BASIC |ust as 



9KM 


n 



ZX Computing Monthly ■ 



im 



£. m« 




s 


SBS^ 


sstz.?^ 


S «"■' 


"""/""""* ■""* 


■com 


11B.HI, 


-'£?■ ISjSf " 


S,., """-' sMC 




;.; ; .'. 


u "n™-'*™ 


ir SSJ554" 






























































L |« 


....... ..„_ ^ _,. 


h " 


SVSSu™ 


toHB.*™- 
































































































































































































r™ £™ B 


g^asMats. 




!iS?. 


p"H«sT' 












































































































































































































































































































































T »- 


.« m . 


"™ 


MM....,,.™:,:... 


1™™ ™" " 






































bis™. 












































































































































«.™ u &&SS&1 













s 

£ 
< 
a 
O 
O 
a 



CHANNELS 



I The Windows program will continue next month. 






THE DISCOVERY 
COLU 



o 
o 



5 

o 



John Wase presents 
more useful routines tor 
Opus Disc Drive 
owners. 







Spectrum's 
perhaps tended to 



iur-ie-r 



obscure »._ ._. 

of people using It lor serious 
purposes such os word 
processing For the forgotten 
millions here is an excellent 

emitted by J. P Riches of 
Warwick. 

Like most Spectrum owners. I 
save my text to disc frequently. 
Thus 1 usually split a scientific 
paper Into three or four files 
'--imbered 1. 2. 3 and 4) with a 

- - c or d to identity Ihe 
various versions. Indeed, this sort 
ot system is implicit in the 
Tasword 3 manual (TEXT1, TEXT2, 
TEXT3). It is therefore a particular 
lev lo have received a program 
which will erase all these files It 
you type In TEXT. 

Directory 

The program (Figure 1) first 
erases the tile "direclo'y" I 
1 [line 115). A subtle touch 
lino is the. u«. nttheorlgi 
ix [ERASE 



"m'!1!'dlrectory") rather than the 
shortened opus version [ERASE 
1 1'd I rectory") as the former returns 
no error message il the file does 
not exist, A new file named 
"directory" Is then opened and 
the disc catalogue Is read Into 
It. This ensures that the original 
catalogue file Is not disturbed, 
and thaf the program can be 
used on twin-disc systems. 

Main menu 

ately afler this, the 



=ads in each entry from 
ectory file in turn. The 
i line is 5140: this 
ares the strings (to "end 1 
ana n they agree, erases the 
appropriate tile, continuing In c 
loop until the end of the 
directory is reached. 

Twins 

For users of twin discs. Insert 



menu optlor. 

150-200), the principal command 
being to kill text files. In additlr- 
you can re-boot the disc (this 
gives the standard "run" 
program which one assL 

CATalogue the disc if yo 
forgotten which tiles to k 
last, reset the machine. 

Erase, erase . . . 

The Textkill optli 



to input a drive number and 
assign It to "d". Assuming that 
the program is on disc 1, insei 
"d" instead of the disc numbe 
In lines 122 5140. 

And finally . . ■ 

Don't forget to save the final, 
preceding tt" 



ising the I 

Opus Assembler 
conversion 




ZX Computing Monthly ■ 



GENS3; nor, for that matter, a 
GP100A printer at home whei 
this column Is put together, b 
thought it was so obviously 
useful that I have Included It. 

BASIC saver and loader 

In the BASIC listing [Figure 2] line 



e 60 enters SENS and 
unigira trie value ol t to the 
result to Indicate II a LOAD, SAVE 
ar ERROR was requested. The 
auto-start line Is line 10. 

Assembly listing 

The main explanations are 
included in the listing (Figure 3). 

Just one or two small points 
remain. In the first place, the 
code leaks disjointed, but this is 
portly due to having to fir il into 
the same space as the 





ZX Computing Monthly ■ January 1987 



ma 



3 

u 




First, type In Ihe BASIC listing. 
SAVE It to disc with an auto-start 
at line 10. Next, do CLEAR 25999 
and load GENS code at 26000; 
reload the GENS code al 50000 



listing (Figure 3). Once this Is 
complete and checked, do an 
assembly to generate the Opus 
version ot the code from 50000 
onwards Finally, SAVE this as 
"gensSd'CODE, 50000, 10046. 
" " — i. completes the 



routine tor Ihe Seikosha GP1QQA 
printer (Figure 4). Printer dump 
routines operating through the 
Opus port are always welcome, 
but please note my a 
at the bottom of the c 



ZX Computing Monthly ■ 



urn 
GET A PIECE OF 

THE ACTION! 



Your chance to win 
Mikrogen's new shoot- 
em-up set in the 
mobster ridden streets 
of 1920's America. 



;emly 



just released Cop Out. c 



operation to track down Illegal 
stills during the prohibition era. 

Chosen as the game for 
Mikrogen's National Computer 
Games Championship final held 
at the Savoy In London, Cop Out 
requires deadly accuracy and 
split second liming to uphold 




Cop Out Competition 



i. ZX Computing Monthly, 



Piece of the action 

To get a piece of the Cop Out 

answer three simple questions 
on the prohibition period. 
1 A Speakeasy was 

a) a loud nailer 

b) o microphone 

c) an Illegal drinking den 

2. Bootlegging was 

a) o fashionable dance 

b) making illegal hootch 

c) emDroidered insoles favoured 
by leading gangsters 

3. Spats were 

a) footwear favoured by leading 

b) a slang word for bloodstains 

c) ammunition 

Send your entries to Cop Out 
Competition, ZX Computing 
Monthly. No 1 Golden Square 
London W1R 3AB 

The competition Is open to all 
ZX readers except employees of 
Argus Specialist Publications. 
Chase Web and Mlkrogen. 

The editor's decision is final 
and no correspondence con be 
entered Into. Please remember 
fo write your answers on the 




ZX Computing Monthly • January 1987 



the uoarz of 
the sbiRes 



To battle! Alan Davis 
puts the last sliver of 
warlike code in place. 



although 

umbllng of thunder during the 
3sl couple ol months, there's 
)een little In the way of real 
octlon. The breaking 
Is long overdue - so 
straight down to t 

To get yourself o "finished' 
version of "War ot the Shires" 
(finished, that is. os far as my 
own development of It Is 
concerned) all you need 
' 'II the BASIC progi 




L1W 



s 

< 



tfoe coqr of tbe stafRes 



arroy, machine 

bytes patched 

the tape in the 

H y, 

you'll 



e iha! 



an at the end of 
correct order. 
: look at Listing 1, 



additior 
following: 

[a) computer c 
movement of the enemy armies; 

(b) a battle routine: 

jo) an extension to the "explore 



h of command 



(d) an extra 
options. 

Interspersed through Ihe 
program lor general "tldying-up" 
and "housekeeping" purposes, 
that's oil there Is to it In play, of 
course, you'll find that Itw 



than they used to b 



ch the Invasion taking 
s the forces of Darkness 
it from the west. Becaus 






the 

long as you like, unless the 
character you're controlling Is 
attacked: it this occurs, the 
program Jumps out of ARMIES 
mode fa give you full details of 
the battle. 

It's worth bearing In mind that 
the presence o( an army symbol 
on the map can mean that 
either one army, or several, are 
currently at that location; this 
means lhat If a particular army 
moves between two already 
heavily occupied locations, you 



The other Important difference 
concerns what happens when 
you Instruct your current 
character to explore keeps or 
villages. Provided Ihe leader ol 
the corresponding Shire has 
been recruited to the cause, the 

provisions and eitra men-at-arms 
■ . ■■ . you hove an army which 
Is alreody so large that it clearly 
needs no help. . .]. A particular 
keep or village will render this 



ale stocks o 



*********** ******** ************* 

** Roland or Greenways ** 
******************************** 

Roland stands in a pine rorest 
in the Shire or Hartand. He 
connands 1248 nen-at-ams who 
are in excellent spirits, nt 

5 resent they are in good Fettle, 
oland is confronted by 1210 
warriors op Darkness, preparing 
to do battle. 

OPTIONS 

l : Change character 

2: view nap or Houe 

3: Explore the pine rorest 

4: Attack! 

7: Distribute provisions 



< Rny other key for fresh news > 



******************************** 
** The Battle of Hariand ** 
******************************** 

The clash of steel upon steel 
rings through the Shire of 
Hariand . 

In- the Battle of Hariand, Roland 
and his 1213 nen rought bravely 
against an amy 1168 strong . 



RNY KEY TO CLEfiR > 




ZX Computing Monthly ■ 



CHRS 1 lor this job - though 



mony warriors ond provisions 
among Ihe freemen of 
Green ways as he can. Before 
selling off 1o warn the recruits 
the leaders of other Shires. As 
play progresses you'll be able to 

recruited characters, so as to 
conducl Ihe war In whatever 
way you see fit. 

As for the battles themselves 
— well, not surprisingly the 
outcome of a battle is more 
likely lo be in your favour If 
you're defending a keep rafher 
than fighting In the open. The 
bottles occur only between 
individual armies: the tactics of 
the enemy are to wear down 
their quarry by attacking In 
waves, one army at a time — so 
that even if several enemy 

your men engaged with them 
only one at a time. Eoch battle 
tokes Its toll on the participants, 



though subsequent light lo 
will restore it progressively, 

either by rest, or by r 
The game ends either by victory 
[the fall of the Keep of Darkness) 
or defeat (all Shire led ears 



game: you gain access to It via 
the "endgame" [more ot which 
later) when the enemy has 
suffered catastrophic losses. 

Customised warfare 

As i promised last month, you 
now have a game which is 
readily playable In lis own right, 
though with ample scope for 
you fa develop il further. To that 
end, lei's take a look at the 
materiol In Listing 1, starting with 
the additions to the 'explore" 
routine. It's clear that we need 
the program to keep a record ot 
those keeps and villages which 
have already supplied food and 
men, and an effective way to do 
this [though not the most 
economical in terms ot memory) 
□ kind of dummy 



:opy" 



>: rhe rr 



iThis 



mS(22,32). In 
which each array element tells 
us something abouf the goings- 
on af a particular location. 

When this array is 
dimensioned initially, all its 



CHRS32. If the re 



leader), we can arrange for III 
appropriate element of mSO tt 
be changed to some other 



Getting down to the details, 
then, we find (Irst of all a check 
in line 1100 to see II Ihe currenl 
location —co-ordinates (x.y) — 
contains a village or keep If It 
does then line 1105 checks to 
see whether the leader of this 
shire is still alive and inserts 
CHRS 1 at mS (y.x) II he Isn't - 
which, as we'll see. prevenls 
recruitment there Finally, line 
1110 causes villagers to lurn up 

provided that [a) the le 



th s 



-xi v b 



jlted; (b) Ihe i 
characters army isn't loo big; [c) 
mS lv,x) Isn't CHRS 1; and (d) a 
gang of recruits Isn't already 
waiting here Provided all these 

number of recruits [chosen at 
random between 100 and 255) Is 
inserted Into mS (y.x] In the guise 
of the appropriate character 
code, ond your character's 
stocks of provisions [stored in 
a[char.9)) Increased by 1. 

This little lol immediately 
produces extra opflons for your 



oglor 



Jl "i- 



options" section, you'll 



of the "explore" 
ies 1200 to 1220. 

nly the e 






.ugh il 



" is accessible 
IpiV involves selling the 
e "tu". creating the 
:e to the tunnel at fhe 
n (xtu.ytu) — v.' 



iron-. 



9 gam 



□nofher — and finally permitting 
movement Ihrough the tunnel 
when the appropriate locatlon(s) 
are explored. The existence of 
this tunnel, by the way. explains 
my suggestion in an earlier 
article thai you shouldn't modify 

plonk a mountain 



h Ihe 



happened tc 
so that It coinciaea i 
tunnel entrance, Ihen It would 
make life a shade difficult . . . 
The real-time movement at 
enemy armies is deal' with in 
lines 102-125. This routine Is 
called repeatedly either 
Immediately after one ot your 
own commands, o - : ~ ~ 



the program a wo 1 1 
desperate tlnger-p 
keyboard (see the 



■ 



while 



im 



4S IF il"*'" THEH RETURN 
99 S£| fc * TH6H ftFTUf " 1 




** t nltWinV notion"*** 




1 1 °fHEK T R?lljK*^*^ "*'"""*"'"* 




1 J IHEH Lfct U(n^3i>FH rVlllf'Sfii 




jr let vx=5;+(";?lf>!;"ii'-<uJ?a! 

Ck,4)): LET mn,ll=«j: LEI VUaDy 

♦J" "JJJJI k - sn-iu«oairk,5)i: Let 














D^fcrelilri"" ' 1 G ° " a0BS - <5 flH 




399 BE " * MoJInent********* 




400 IF NOT*a(charJlf*THEH*RlTUR 




JOS IF battle THEN RETURN 




char-actef*rj!!c?*ptiSr!* 
and Opt.ons 




SUB 38: GQ*SUB%: PAUSC'loO: R 




xj a THEH 9 GQ 3 TU H fiOQB 2 flMD "° T "" 




(chari j-_ is'conf rented by "*strJ 




h Recruit 5 "°STRi"couE H n*i nB x» -" 6: 








is's.itcsipi^Ois^pT^ks 1 




LET 5 n^y"2I=CHR* J'"****" THEH 




l^Oo''lF'NOT a t U ,1 B!Iu 9 tot<lSO0O THE 




tUilD+FH r(6»: GO SUB S: PAUSE 
"" " <15 


► 



ZX Computing Monthly ■ January 1987 



U1U 



through nany dark, passages, "*t 

=1 CL LET rkIcha": e LETux=aCrk, 
LET u U ra(rk,S): LET i*. "The 

el B UPOn sfeef^ings through t 









5 
a. 

I 



n the tr 



jslgned a specific 
d at the apt 



.... only exceptlor 
armies 66 to 70 Inclusive, who 
have the doubtful honour ot 
standing guard at the Keep of 
Darkness. 

This Is what each line does: 
102: Choose at random one of 
the 65 mobile armies ("ml 
provided it still survives! 



103: Check this army' "target" 
(tk); If It's alreodv been 
despatched to the Great Shire li 
the Sky, assign another target at 

110: Store the armies current 
location in the temporary 
variables vx, uy. Compare these 
with Ihe location co-ordinates o 
the target, and compute new 
co-ordinates vx, vy which will 
bring the army one location 
closer to Its target. Move the 
army to this new location by 
changing u[m,4) and u(m.S). 
115: The array t[22,32) stores the 
TOTAL number ot enemy warrior; 
at each and every location, on 



happening her. 

program is currently in 
ARMIES mode, then the map 
graphics need updating loo — 

Instructions are tor. 



120: II 

its target, this turn is completed. 
122 & 125: Let battle commence! 
A suitable message Is flashed H 
the program Is in ARMIES mode, 
before batlle Is actually Joined. 
The variable "Ind" Is used to 
distinguish between attacks 
Initiated by the enemy (ind=1) 
and those mounted by the 
player (lnd=0). 

Into battle 

And this, noturolly, brings us to 



luence The si 



is the 
s battle 






enemy launches the attack — 
the only difference being the 
entry point; battles Initiated by 
the enemy and taking place 
"behind the scenes" enter at 
line 2005. with the appropriate 
already assigned by 

routine when text 

print-out Is necessary (ie. when 
Ihe currently controlled 
charocler Is Involved In the 
rough stuff), entry Is at line 2000. 
The actual combat begins at 
line 2005. and follows a pretty 
simplistic system. 

Two quantities "us" and 

two sides according to number, 
stamina, and morale [Ihls last 
not applying to the enemy) ot 
warriors, adding an appropriate 



>s don't exceed 



wouldn't exactly be conducive 
to realism!) Line 2015 updates 
Ihe tally of enemy warriors at th 
location of the battle as well ai 



= adjustment of the 
lithe ■— ■ 



■ 

according to losses suslalne 
[lines 2025 and 20301; and tt 
adjustment of the stamina or 
strength of both armies [lines 
2026(7). All that remains Is the 
printing of ony texl needed. 

The rest of the program needs 
no explanation, 1 think, although 
a word about the "IF battle THEN 
RETURN" lines might be In order. 
These are necessary because 
we don't know precisely whot 
the player might be doing In the 

enemy, and so the progrom 
could be |erked Into the battle 
sequence from any of several 
sub-routines The "IF battle . . ." 



else It might have been In Ihe 

If you play the game exactly 
as given, then with a bit of 
thought and planning you could 
reasonably expect to achieve a 
victory within about a couple of 
hours — though you'll doubtless 
surfer some tragic losses, and 
things may seem desperately 
hair-raising In mid-game If you 
find it loo easy, then probably 
the simples! way of making It 
more challenging is to Increase 
the number (or perhaps the 
Initial strength) of the enemy 
armies. Personally. I don't worry 
too much about this side ot 
things. I find that the tun of this 
kind of game (which Incidentally 
is no less tun for the author to 
play than for anyone else) III 



n the v. 



■ 



olvement with the 
characters during play: a noble 
and desperate defence, ending 
In defeat, can be just as 
Imaginatively satisfying as a 
glorious victory. This ot course Is 
one of Ihe great strengths of 
gamr 



Over to you, then. There's 
plenty of memory left (or you to 
add Ideas of your own. Vou 
might like to add some 
adventure-style puzzles, perhaps, 
lo add depth to the plot. The 
endgame could protlt from extra 

sledgehammer Job on the Keep 
ol Darkness at present, and you 
might like to make use of the 
exlra character (Ulrlc) whom I 
Included In last month's listing 
but haven't. In fact, used. 

But Just a moment! What's 
that? The faint rumble ot 
thunder? Roland Is donning his 
armourl Deepmeads has follenl 
To battle! 

Now where did I put that 



ZX Computing Monthly ■ January 1987 



David Nowotnik puts 
the new version of the 
Quill to the test. 



QL o 






S QL. 



mlcradrives. Alternatively, 
customers can send £10.95 and 
supply the magnetic media. In 
this lorm. the manual Is supplied 
on one of the cartridges [or disc) 
as an ASCII tile, but there Is three 
sheet Introduction to get you 
started. 

The review copy was supplied 
□n two mlc rod rive cartridges, 
with the manual on cartridge. 

a text editor (eg. tram 
Metacomcol, although you will 
need a RAM expansion to 
squeeze II all in. A hard copy 
d by COPVIng 



sort Is a very poor substitute tor a 
proper manual. I COPVed the 
manual (lie to an RXBO printer. It 
'""" 'o paginate correctly, a 



margins came o 



•vro.-ig 



First steps 




automatically think you are 
talking about the OLs word 
processor. So, It Is somewhat 
unfortunate that another product 
tor the OL should have the same 
name. But the 'Quill Adventure 
Writer' has developed such a 
good reputation on the 
Spectrum that Software house 
Gil soft must believe that this 
repufatlc 

'Quill 

program which provides users 
wllh a framework tor producing 
their own text-only adventure 
programs. It Is menu-driven and 
quite easy to use. Using a 
logical approoch ond a little 
practise anyone con produce 

The product Is available In 
two price formats. At £22.95 Quill 
is supplied with a printed 
manual and the programs on 



In use. Quill' turned out fo 
quite Impressive. The manu 
takes you step by step in w 
a simple adventure with only 

■- J with that training, 

adventures con 

easily within the grasp of any 

/enture programmer. 

The program depends upon 

an adventure 'database' being 

constructed. A basic database 

called start' Is provided on the 

cartridge, and the first action in 

setting up any new adventure is 

actions is then something like 
this: 

First set the screen sire (by 
adjusting fhe border), then 
permanent Ink and paper 



2 «"" 



new location, (or example; 

"I am In the Hall. The Kitchen 
Is to the West and the Dining 
Room Is to the North" 

These texts can be inserted In 
a single colour, or mixture ol 
colours. Word wrapping Is not 
provided, so users have to be 
careful to avoid word splitting. 
But text can be amended as 
well as Inserted In the database, 
and there Is good protection 
system, which prevents you 
accidentally Inserting new text 
to location which already has 
some During text entry, the 

down, as well as right and left, 
(or rapid editing. But the cursor 
had o tendency to disappear 
when moving It rapidly right to 

Each location Is assigned a 
location number; the next step 
In constructing the adventure Is 
to link up locations, to give the 
'Movement Table'. This Is done 
through another selection from 
the main menu. Iti quite logical. 
If (rom location number 5, you 

and north lo 8 then you'd type In 

tor location five; 

E6W4N8 

Movements up, down and to 
the diagonal points of the 
compass are also possible. You 



The end result wos 
lust useoble, but very untidy And 
If you haven't got a printer, then 
you have nothing to reter to 
while leornlng to use the 
program. Still, Gllsoft do glvu vou 
a choice of proper hard coov or 
the cheaper, buf much nas: <•■ 

The manual recommend; 
using an EXEC command lo sian 
the adventure writer program 
but there is a perfectly good 

ZX Computing Monthly ■ January 1' 



playing the game, you can s( 
GO NORTH' or 'GO TO HALU a 
the computer will respond to 



database Again Irom the main 
meru. a single keypress takes 
vcu n*o your basic adventure 



Diagnosis 



e gar 



■}. the u 



LtllJ 







given a 'diagnostics' option. 
Supposedly, this provides extra 
Information while running a test, 
but in the review version, I found 
that requesling diagnostics' 
made no difference to the 
information presented on the 

Entering objects, ond locating 
them Is also very simple. New 
words can be added to the 
basic vocabulary provided; 
synonyms are easily Identified; 

The text recognition routines are 
rather basic. They con recognise 
only up to two words, and only 
the first four letters of a word are 
significant. 

Probably the most difficult 
item to understdnd Is 'the event 
table'. Agoln, this is another Item 
Irom the main menu, and It sets 
conditions to the computer's 
response to the player's 
commands. In a way, it con be 

high level, quite specific 
keywords to Instruct the 
computer how to respond to 
commends. A large part of the 
manual Is devoled to explaining 
its complexity, and users may 
need to read this section a few 
times to grasp all the elements 
of this programming language'. 
A second manual file, useful for 
reference purposes, is available 
on one of the cartridges, once 
you have grasped all the 
concepts of the first manual. 



As tl 






progr 

could take several hours, SAVEing 
□nd LOADIng your database ore 
available options to give you a 
well deserved restl 



royally, so If you believe your 
adventure program is good 
enough lor sale, you a" '" 



Spectrum version of Quill, to 
allow graphics to be added. 
Gilsoft are developing an 
'Illustrator' upgrade for the QL 
version ot Quill: whether it ever 
reaches fhe market will depend 
on the demand for Quill. 
Whatever fhe outcome ot that 

adventure program writers could 

'The Quill'. 

Gilsoft, 2 Park Crescent, Barry, 

South Glamorgan CF6 OHD. 















ROGUE IN VOGUE 




£ 
O 

o 



3] Rogue Trooper will be n 



Send your enlrv to Rogue Trooper Competition. ZX Computing 
I Monthly. No 1 Golden Square, London W1R 3AB 



roon:ir 

Everyone likes a villain. 
How's your chance to 
create a whole race of 
them and win a copy 
of Piranha's Monster Hit 
Rated Rogue Trooper 



ogue Trooper, the blue 

' genetically engineered 
soioiki is up against the Norts in 
Piranha's new game. But what 
happens when he's vanquished 
them? Genetically engineered 
infantrymen being what they are 
Its unlikely he will seek early 
retirement Irom his one man 
regiment and potter around the 

Trooper wl 1 1 be 



Christen the aliens 

All you h 

than 20 words, name 

describe these 

ingly Invincible toes, 
ig them a memorable 
dripping with 
inlamy Is good (or starters 
Then In 20 words describe 
how Rogue Trooper will deal 
with them. Perhaps he'll need a 
of power ol weapon to 
son our me fiendish toes you 

There are 30 copies ol Rogue 
Trooper to be won for ZX readers 
who can vividly describe their 
alien scourge and Rogue 
Troopers antidote. 

Send your entries to Rogue 
Trooper Competition, ZX 
Computing Monthly, No 1 
Golden Square, London W1R 3AR 

The Competition is open to all 
ZX readers except employees of 
Argus Specialist Publications, 
Chase Web and Piranha. The 
editors decision is imal and no 
correspondence can be entered 
Into 

The closing date Is February 



ZX Computing Monthly - 



Ray Elder with good 
tidings for 81 
programmers. 



threat news lor all ZX81 
programmers In the guise of 
PauF Kecskemety who has 
formed Lightning Software and 
who hopes to produce a range 
of tapes for our wee dinosaur. 

His first product is for us 
programmers and Is a program 
called ZXTENDED BASIC Priced a 
a reasonable £2.50 Inc P&P It 
consists ot appro* 5K of mac hint 
code additions io BASIC held In 



as we wander around our 
machine code world. 

Storing text and numbers, 
especially those which remain 
constant Is done In a very 
Inefficient manner In the ZXG1 
Each time o LET AS="ANYTEXr 
Instruction is used then the 
computer stores this twice once 
in BASIC memory and again In 



colled from BASIC ond sor 
very useful, they Include ir 
scrolls, variable lists, memory 



string and number handling 
utilities. 

As programming Is the most 
frequent of our ZX61 activities, 
mainly due to there not being 
many games programs around, 
this Is a must for serious users 
who dont want to delve Into 

Some of the syntax Is a bit 
awkward to handle, but this Is 
rather a minor complaint. 
Instructions are on Ihrei 
of typed foolscap a _ _. 
on the brief side Contact: 
Lightning Software, 95 Penton 
Drive Cheshunt, Herts ENB 9RU. 

Other programs Including 



e pages 



' : 



H gam 
watch this 

REM lines 

Steven McDonald of E. Lothian 
sent us a routine to create HEM 
lines, this Is a little more versatile 
than the one I printed some 9 
months ogo ond is worth adding 

It works by building a 
program line In the work space 
oreo (E-LINE], and then using the 
ROM routines la enter It Into the 
BASIC area - very neat. 

Storing and saving 

I thought we'd have a short 
discussion this month for the less 
expert among us, many of whom 
exist but we rarely think of them 



character space it 



"«g»° 



also 

Indicate o 

bytes to store It in floating point 

This short routine will 
demonstrate this: 
10 LET X=25 

20 FOR 1=16514 TO 16535 
30 PRINT PEEK I 
40 NEXT I 

When run there Is a list of 
numbers, the first four numbers 

length, the next Is fhe cade of 
the keyword LET followed by the 
code tor x,=,2 and 5. 

After this comes the number 
Indicator 126, fhe five floating 
point bytes and finally the 
number 118 which indicates the 



are using Integers by using VAL 
'■25" to save fwo bytes, but if I 
am using Inleger constants then 
I either store them In a string by 
MRS 27 etc and retrieve 



slicing of fhe ZX81 gives i 



However the ZX81 has one great 
advantage over more 
sophisticated machines, It saves 
all Its variables with the 
program. 

So to make the most of this I 
always have o routine to 
Initialise variables which will 
remain constant throughout □ 
program run, usually those 
which are lor PRINT AT* eta and 
odd new ones fo It as required. 
Then when fhe program Is 



if memory, c 



I start n 



ling 



/M 



9980 FAST 

9981 DIM A*<49> 

9982 LET B*-*2A144fl36002336B0233 
«00233600233AEA23361CS43ul301010 
0EDB03i57F23367623221A40221C40ED7 



■ENTER I 



LIME NUMBER 



9983 FOR A-l TO 49 

9984 LET A* (A) -CHR*1 16»C0DE B*tC 
ODE B*(?)-< 
9983 LET B- 
99B6 NEXT I 
9987 PRINT 
(4 DIGITS) ' 
99B8 INPUT B* 
99B9 IF LEN B»<>1 THEN GOTO 99BS 

9990 LET A*t3>«B*(lt 

9991 LET A*(8)=B*(2> 

9992 LET A*(Iil=B*(3l 

9993 LET A*(14>=B*(4> 

9994 PRINT -HOW MANY CHARACTERS 
AFTER REM ■?• 

9995 INPUT « 

9996 LET A*(23)=CHR*(A-Z3(J*INT(A 
/236) > 

9997 LET A*126!-CHR*(INT(A/256) ) 

9998 SLOW 

9999 RAND USR (PEEK J 6400 • 25rt*Pf 



To make this less likely I i 
programs so they auto storl 
Including two lines such as 

9998 SAVE "PROONAME" 

9999 GOTO lineno 
Saving the program Is dt 

by typing GOTO 9998. Wher 

runleeplng the vorlables s 

and make any alterations, < 
add new variables to the 
memory by direct common 
[no line numbers) < 



I hope that expert 81'ers will 
forgive this section of the page 
but I met a couple of new users 
[their dads had donated their 



e program (GOTO 



The disadvantage Is that you 
MUST NEVER use CLEAR or RUN 
but start the program with GOTO 
10 or whatever line you wish. 



P A G 1= 



II 



s 
s 
< 

a 
O 
O 



ZX Computing Monthly ■ Januaty 1987 




r 




This Is the sequel to Vtay ol the 
Tlgef'. o martial arts gome, that 
wos ahead ol the opposition In 
o number ot respects. 
Unfortunately it appeared on the 
scene towards the end ot the 
rather over-long martial arts 



Ninja revenge Is rife In 
Gremlins new multi- 
faceted martial arts 
epic. 



softwore houses Into dum 
any original and exciting 
projects In favour of re-hc 
the same sort ol game a- 
over again. 



h great pleasure that I 
lunce that 'Avenger' Is 
nothing like Its prequel. and Is a 
fantastic game that has 
something tor everyone, having 
elements ol adventure, role- 
playing, (very) last action, and 
puHle'maze/problem solving. 
The game Is based on a format 
very similar to Gauntlet — the 

S3 me that has taken over from 
e martial arts games In setting 
the trend that olTwIII follow. 



Nlnja binge 



The plof is that having proved 
your skills as a Ntn|a In 'Way ol 
the Tiger' you must avenge the 
murder ol your toster lather. 
Naljshl, by the evil Grand Master 
ot Flame — Yaemon — who has 
stolen the sacred Scrolls ol 
Kettsuln. Y 0U swear to the greot 






)t I he k. 



right. Y 

energy and 'Inner peace' levels 
on the left, and the bottom third 
ol the screen taken up by the 
status lines. These tell you how 
many keys you hove left, what 
ob)ecl you have, how many 
Ninja throwing stars you have 
left, and how much treasure you 
n your person. 



The a 



plan v 



■ ■■ . 



with a slight 
perspective given to everything 
so that you can see objects 
Mired slightly - rather than the 
pure plan view opted for In 
Gauntlet. The graphics are 
better than weve come to 
expect on the Spectrum. Colour 
has been used creatively and 
thoughtfully, with none of the 

clashing that mars lesser games 
Shading has also been used to 
great effect, but not over done, 
so that clarity Is maintained. 
The Nlnja - " 



sluggishness The 



]er 

that I would have thought 
Impossible on a Spectrum 
only occasionally Is there a 
flick' from one section of the 
maze to another, rather than 
smooth scroll, as the progran 
unpacks another section of 



The mighty Kwon 

performing certain tasks. These 
are accomplished by collecting 
various useful oblects In a set 
order as decreed by Kwon (your 




god). Mapping Is essential as 
collecting keys and opening 
doots should be done In the 
right order or you may find 
yourself unable to progress 
further because lack of a key. 
The game Is multl- level led, 
with gratings In the floor used Jo 
descend Into the depths of the 
keep ond trap doors to go up 
(rather like a loft door), In all 
there are six levels I have 
currently seen three ol them and 
the other two show the same 
kind ol thought that went Info 
the level that most people will 
see I can only assume that the 
same was done to the other 

One Interesting point Is the 
energy/lives system. When your 
energy reduces to zero, one 




lOSIHI & 

EHIT; 5 



force' When 

you die However, praying . 
Kwon will usually replenish your 
Inner force and revitalise yr '" 
carry on his work. However, 
not o patient god ond 
demanding energy too 
frequently will result In your 
premature death I 

Avenger Is excellent, I would 
recommend It to almost anyoni 
unreservedly. 




ZX COMPUTING 



Lineage: 48p per word. (VAT inclusive) 

Semi display: £9.50 per single column 

VAT. Ring for information on series bookings/ 

discounts (minimum 2.5cm). 



"(p 



01 - 437 0699 

Send your requirements to: 
NICOLA BATY 
ASP Ltd., 1 Golden Square, 
London W1 



DRIVE TRANSFER UTILITIES 




■1HEZZEHH 








FOH THE QL: 


K _ Ha 




































-■osa.'^sS" 








































































































































































































w D 


oTIwire (IX), Hilltop 


St Mary, Jirury, C.I. Ill: (053<) S139! 




OUR NEXT COPY 
DEADLINE IS 
19th JANUARY 
19B7 FOR THE 
MARCH ISSUE 



COMPUTER ENTHUSIASTS!! SN3 SAT 



Bd tot? PUZZLER. EJ.95. Send S.A 
jb,212 leaflet Pooler Games. 24 Pa 
12 3DF Avenue. Daeenham RM9 5i> 



WARNING NOTICE 

a not infringe any copyright or condition ol sale at 




mmmmmsssmmmmsssmsEsSm 




DEPARTMENT. NO' I GOLDEN SQUARE, LONDON W1R 

□ repairs L_l softwahe □ utilities Dfoh SALE CH 



COMPUTING. ADVERTISEMENT 
I— I OTHERWISE PLEASE STATE 



CLASSIFIED COUPON 



PLEASE DEBIT MY ACCESS ; BAB CLAY CARD NO 

n 1 1 1 1 1 1 1 1 1 1 1 i i 1 1 



Address 












DAYTIM 






Slgnatu 







IF YOU DO NOT WISH TO CUT YOUR MAGAZINE. PHOTOCOPY THIS FORM 



o 

z 

s 
s 
< 
a. 
O 
O 

D£ 

a. 



5 

UJ 

a. 



technical/ . 
Graphic* 



Toni Baker begins a 
new graphics series on 
line drawing 
techniques. 



i The purpos 



H graphic 



W,th I 






ill objects such 
□s the animated tlgure which 
was featured In last month's ZX 
Computing. In this series we 
shall keep things nice and 
simple. We will cover the 
principles of three dimensional 
drawing, but we wont attempt 
to do complicated things like 

shading In according to the 
light — that Is something for 
perhaps a future series to cover. 



Clipping 



provided that the whole of the 
line will fit on the screen. Now 
suppose that the line will not fit 
on the screen - for Instance 
PLOT 20,20 followed by DRAW 
250,250. If you were to try out th 
example you'd get the error 
report "B Integer out of range" 
and the program would stop 



mnr; I 






Let"; 



n thes< 



;. Take a 



fcat 



cllpplr 

Figure 1. Ihe rectangle 
represents the screen areu. 
Suppose we want to draw o line 

from point [P1.Q1) to point (P2.Q2], 
as shown in the diagram To clip 
the line we have to move both 



if togethe 
it will fit o 



screen This is done 
stages. First we find the point 
(M'SMl. which Is the point where 
the line meets the vertical edge 



the m 

Special provisi 



tust be 
□re entirely 

of the screen 






point (P2.Q2) first of all to (P2S2') 
and finally to (P2'B2"). You con 
see that the line segment from 
(Pr.QI ") to (P2 "«2") Ties wholly 
within the screen and may be 
drawn normally. 

The same principle will work 
even if the line we wish to clip is 
not In exactly the position shown 
In Figure 1. Wherever (P1.Q1) lies, 
we must first calculate (Pt'.on 
which will move the point to the 
nearest vertical edge onlv H the 
point Is to the left or to the 



then the whole of th 
to the left of the screen, 
need not be drown. This 
true If both end-points a 



icreen. In each of these 
is the line Is clipped away 
pletely, and nothing should 



llcult to delect Figure 2 
e only thing you know 



right of the screen (otherwise 
leave It where It Is]; then we ca 
calculate (PV.QI'1 by moving th 


ordinates of the end-points then 
It Is remarkably difficult for a 
program to work out whether the 




(P2,Q2) 






(P2',Q2')i/ 






<P2",Q2")_/ 




/ 


[PT,QT| 


31") 




(P1.Q1) 




Flgura 1 





ZX Computing Monthly - January 1987 




i. Fortunately. Ihe w 



d (he p 






simple All you have to do 
work out P (Prjar) ana (P2 1 ; Q2") 
using the algorithm above ana 
II any of the co-ordinates Is still 
outside the screen area then the 
line should not be drawn. 

Getting around 



drawing o circle, we actually 
draw a many-sided regular 
polygon. The greater the 



symmetrical. The number you 
need (or any given radius turns 
out to be roughly P1*SQflJR) 
where R is the radius - this 
works well with the resolution 
possible on the Spectrum. 
It we now sublecl each side ot 
the polygon to the clipping 
algorithm, so that It will noTbe 



w other types 



ichlne code. I 



« Ihe re 



BASIC To draw a clipped line 
whose end-points are (P1.Q1) ant 
(P2.Q2) then you may use the 
BASIC statement. 
RANDOMIZE FN S(P1,©1,P2,Q2) 
To draw a clipped CI — 



-ordln 



■s (>:.vi 



the BASIC statement. 
RANDOMIZE FN C(X,Y,R] 

And finally, to draw a clipped 
ellipse you need live 
parameters. Use 
RANDOMIZE FN E(X,Y,R,E,A) 

The parameter list Is exactly 



< 

O 
O 



at 
i- 
O 



ZX Computing Monthly ■ January 1987 



ZX Computing Monihlv ■ January 1987 



2X Computing Monthly ■ Jonuary 1987 



m 



nitre of the ellipse. R Is the 
if radius, and E [which I've 
e greater than 
one) Is the ratio of the lorger to 
the smaller radius. A Is the angle 
(In radians] which the larger 
radius mokes with the horizontal. 
Figure 3 shows how all these 
parameters tit together to define 



twenty calculator memories (fer 
for the clipping routine, and ter 
more which deal with ellipse 
drawing). Since the calculator 
only has si* memories built in 



extra memory In the workspace 
using the RST 30 Instruction, and 
then point the system variable 
(MEM) to this memory. (MEM) 
should be returned to Its normal 
value of 5C92 at fhe end of the 
routine, and this Is done ol the 
label FN_EXII neor the end of 
the machine code program. The 
actual usage of these memories 



M 


XI 




X coordlnata of atari of llna - KT.S 




Ml 


Tt 




t coordin.tr of atari of lliw - 97.5 




-: 


V 




X coordinata of and of lina - 1ST. 5 




— 


i? 




I CDOTdlut! of and of llaa - B7.5 




M 


si 




-1,0 or 1, if X1 ia laft of, on, or right of an 


ran raapaotlvaly. 


fS 


T1 




-1.0 Of 1, If 11 ia bolo., on, or abova acraan 


raapacti».lj. 


z 


3 ' 


.1 


-1,0 or 1, if X2 ia laft St, on. "^ ^" 


re en r.apactivaly. 
raopaotivalj. 


>r- 


67 


5 


Half tha halght of tha aaraan. 




M 






Half tha —jar alia of allipaa. 




ta 


■ 




Half tha ainor aria of alilpat. 




MD 


w»UJ 


) ^ to ^J.^^ 




ME 


il 




UWla aubtandad "oo far". 




Y? 






Uount by which 11 ia incraamtad on each paaa 




ma 


T 




X ooordinat. of point on (UlpH. 




z 


■ 




;:::":: r, ::;;:::;„::: 


Flgun 4 



BASIC program (Figure S) which 
demonstrates the clipping 
routines by drawing a rather 
nice pattern out of lines, circles 
and ellipses, which are too large 
to (It on the screen. Give It a run 
and see what vou think. 

In machine code, the moln 
clipping routine is fhe routine 
labelled CLIP at oddress 8052. 
which requires P1,Q1,P2,Q2 at the 

that order. The routine ELLIPSE at 
address 811E will draw an ellipse 
It requires the parameters 
X.V.R.E.A, In that order, at the top 
o( the calculator stack. The entry 
point from BASIC will be either 
FN SEGMENT [address 817B). 
FN_CIRCLE (address 8186) or 
FN_ELLIPSE (oddress 8192), 
depending upon whether FN S, 
FN C or FN E were used. 

In the next article In this 
series, we'll start taking a look at 
3D, beginning with Isometric and 
other simple kinds of projection 
(don't worry — It's easy). See you 
then. 



10 FOB I - TO PI STEP Pi/20 
20 RANDOMIZE FN E(l28,88, 60,2,1) 
50 NEXT I 

40 FOR I * 60 to 120 STEP 20 
50 FOR J = TO 4 
60 LET A1 = (2*j/5+.5)*PI 
70 LET A2 *= (2»(J+2)/5+.5)*PI 

80 RANDOMIZE FN s(l28+I*C0S A1,8B+I*SIN A1,128+I*C0S A2,88-t-I*SIN A2) 
90 NEXT J 
100 RANDOMIZE FN C(128,BB,I) 



110 I 



1 I 



120 DEF FN S(A,B,C,D) = USR 53147 
150 DEF FN C(X,Y,R) = USR 53158 
140 DFF FN E(X,Y,R,E,A) = USR 53170